JavaRush /Blog Java /Random-ES /Estamos escribiendo un proyecto real para un portafolio: ...

Estamos escribiendo un proyecto real para un portafolio: "Proyecto Java de la A a la Z"

Publicado en el grupo Random-ES
¡Hola a todos, futuros ingenieros de software senior ! Durante los últimos meses, he estado escribiendo artículos sencillos que describen partes importantes del desarrollo. ¡Hoy os hablaré de mi idea! Quiero ayudarte a conseguir tu primer trabajo. ¿Qué se necesita para esto? Para hacer esto necesitas ganar experiencia. Comprenda en qué consisten precisamente estos proyectos en los que trabajan los ingenieros y hacen avanzar el mundo de las tecnologías de la información.

Todos los materiales de la serie:

“Proyecto Java de la A a la Z”: escribir un proyecto real para un portafolio - 1¿Cómo hacerlo? Necesito escribir algo. Por lo tanto, como parte de esta serie de materiales, escribiremos nuestro propio bot de Telegram paso a paso (detalles a continuación). Y al mismo tiempo, comprenderemos la pila de tecnología que necesita incluso un desarrollador de Java novato.

Objetivo

Escriba un proyecto que combine el trabajo con bases de datos, la creación de la lógica empresarial que necesitamos y la configuración del trabajo para implementar el proyecto y probarlo. ¿Qué vamos a escribir? Si vas a escribir, entonces necesitas escribir algo realmente útil para que haya interés en el trabajo y alguien pueda aprovechar el resultado. Sobre la base de estos datos, se escribirá un bot de Telegram que funcionará con el sitio web JavaRush. ¿Será esto útil? ¡Sin duda! Debido al hecho de que los bots de Telegram no son tan difíciles de escribir, puedes obtener rápidamente un proyecto funcional que puede ser útil.

Tiempo de desarrollo

Los artículos se publicarán una vez por semana, por lo que habrá tiempo suficiente para dominar/repetir/escribir preguntas si algo no está claro. Los primeros artículos serán la fundamentación teórica que utilizaremos en el proyecto. Y luego es sólo práctica.

MVP (producto mínimo viable)

“Proyecto Java de la A a la Z”: escribir un proyecto real para un portafolio - 2¿Qué es MVP? El término, como siempre, no es nuestro, pero podéis encontrar una explicación razonable en la wiki . Citamos: MVP es un producto que tiene funciones mínimas, pero suficientes para satisfacer las primeras necesidades. La tarea principal es recibir comentarios para formular hipótesis para un mayor desarrollo del producto. Para nosotros, esta descripción encaja perfectamente. Una descripción rápida de todas las funciones: como usuario de Telegram, quiero poder suscribirme a nuevos artículos en grupos y recibir notificaciones cuando se publiquen nuevos. Me encanta leer el grupo de Historias de Éxito , me motiva a seguir aprendiendo y aprender algo nuevo. Soy vago y no quiero entrar y actualizar la página cada vez . Por eso, yo, como programador, quiero hacerme la vida más fácil y escribir un programa que me envíe un mensaje en Telegram de que se ha publicado un nuevo artículo. Es más: este no es el único grupo al que sigo. Soy de Jarkov, por lo que me interesa leer los artículos que se publican allí. Como desarrollador de este producto, estaré muy interesado en saber si alguien está usando mi trabajo, por lo que agregaremos funciones para que los administradores puedan ver las estadísticas del bot de Telegram. ¿Es posible hacer esto? ¡Ciertamente! ¿Cómo? Esto es lo que mostraré en una serie de artículos.

Nombre clave

Todo proyecto interesante debería tener un nombre en clave. La nuestra no será una excepción, así que por ahora será así: JRTB (JavaRush Telegram Bot). En adelante se llamará así.

¿Qué temas vamos a cubrir?

“Proyecto Java de la A a la Z”: escribir un proyecto real para un portafolio - 3

Base de datos

Debe comprender de inmediato que no puede almacenar el estado (datos e información) en la aplicación. Los datos deben almacenarse en una base de datos. Dado que no hay información al respecto en la capacitación (que yo recuerde :D), intentaré llenar los vacíos de conocimiento que necesitaremos. Intentaré que el esquema de la base de datos sea lo más simple posible para que no haya confusión. Esta parte incluirá:
  1. Teoría de trabajo con SQL basado en MySQL.
  2. Una herramienta para trabajar con MySQL es MySQL Workbench.
  3. Versionado de bases de datos. Ruta migratoria y base líquida.
  4. Creación de un esquema de base de datos.
  5. Cree un dibujo de esquema de base de datos.

git

Ya hay artículos sobre este tema. Por supuesto, nada funcionará sin un sistema de control de versiones. Para empezar a trabajar en JRTB, necesitas entender git. Puede hacerlo usted mismo o puede leer mis artículos sobre este tema: Si lo desea, también puede leer sobre estrategias de ramificación, pero esto no es fundamental aquí y puede omitirlo.

experto

Aquí hablaremos del sistema de montaje, para qué sirve, cómo lo usaremos, a qué prestar atención y reglas de buenos modales. También hablaremos sobre el control de versiones aquí y cómo lo haremos exactamente.

Estibador

Para hacernos la vida más sencilla y fácil, y para que el proceso de implementación sea lo más sencillo posible, utilizaremos Docker. Para ello, hablemos de qué es Docker y qué comandos útiles existen. Quiero decir de inmediato que uso Docker a nivel de usuario y es posible que no sepa o no pueda hacer algo)) Entonces, si alguien sugiere cómo mejorar o facilitar el trabajo con Docker, solo me alegraré. Esta parte incluirá:
  1. Teoría y práctica de Docker.
  2. Copia de seguridad/restauración de datos a través de Docker.
  3. Configurando nuestro proyecto para que se ejecute en Docker.

scripts de bash

Para automatizar el trabajo, a veces resulta útil escribir uno o dos guiones. Los scripts Bash son scripts que todos los desarrolladores entienden en un grado u otro, porque son esencialmente trabajos de línea de comandos en Linux, simplemente guardados en un archivo separado.

Creando una aplicación

Todo el viaje estará aquí. Según el conocimiento previo, crearemos una aplicación Spring Boot que contendrá un objeto bot de Telegram. ¿Qué vamos a hacer aquí?
  1. Creando una descripción completa de la funcionalidad que debería estar allí.
  2. Una breve descripción de qué es un bot de Telegram.
  3. Creando una aplicación Spring Boot.
  4. Descripción de cómo trabajar con Lombok.
  5. Descripción del trabajo con UniRest.
  6. Implementación del patrón Comando + trabajo con la creación de su propia anotación para los comandos del administrador.
  7. Crear un cliente para trabajar con consultas JavaRush (como una lista de grupos, una lista de artículos en un grupo) usando UniRest.
  8. Pruebas. Escribamos todas las pruebas posibles para cubrir nuestra funcionalidad.
  9. Configurar un sistema para verificar la calidad del código y compilarlo automáticamente en GitHub.
  10. Conexión de la base de datos junto con el control de versiones de la base de datos.
Todos estos pasos se realizarán paso a paso, para poder comprender mejor lo que está pasando.

Resultados futuros

Como resultado, obtendremos un proyecto real que cualquiera que lea los artículos podrá implementar. La belleza de un bot de Telegram es que puedes vincular este proyecto a cualquier bot, para no depender del bot que estará en los artículos. Diré más: esto es sólo el comienzo de JRTB. Se pueden discutir/agregar nuevas funciones en el futuro. Crea este bot para que sea útil para todos los estudiantes del proyecto JavaRush. ¡Y la sensación de que otras personas usan y les gusta tu creación vale mucho! Y usted, como lector de esta serie de artículos, podrá adquirir experiencia real trabajando en un proyecto real. Tradicionalmente, sugiero suscribirme a mi cuenta en Github , en la que publico soluciones y proyectos. Todo el trabajo en JRTB se realizará a través de GitHub, por lo que te aconsejo que te registres si aún no lo has hecho. Gracias por leer a todos, nos vemos pronto :)“Proyecto Java de la A a la Z”: escribir un proyecto real para un portafolio - 5
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION