JavaRush /Blog Java /Random-FR /Nous écrivons un vrai projet pour un portfolio - "Projet ...
Roman Beekeeper
Niveau 35

Nous écrivons un vrai projet pour un portfolio - "Projet Java de A à Z"

Publié dans le groupe Random-FR
Bonjour à tous, futurs ingénieurs logiciels seniors ! Au cours des derniers mois, j'ai écrit des articles simples qui décrivent des parties importantes du développement. Aujourd'hui, je vais vous parler de mon idée ! Je veux t'aider à trouver ton premier emploi. Que faut-il pour cela ? Pour ce faire, vous devez acquérir de l'expérience. Comprenez en quoi consistent ces projets, sur lesquels travaillent les ingénieurs et faites avancer le monde des technologies de l'information.

Tous les matériaux de la série :

« Projet Java de A à Z » : rédiger un vrai projet pour un portfolio - 1Comment faire? J'ai besoin d'écrire quelque chose. Par conséquent, dans le cadre de cette série de documents, nous écrirons notre propre robot de télégramme étape par étape (détails ci-dessous). Et en même temps, nous comprendrons la pile technologique dont même un développeur Java novice a besoin.

Cible

Écrivez un projet qui combinera le travail avec des bases de données, la création de la logique métier dont nous avons besoin et la mise en place du travail pour déployer le projet et le tester. Qu'allons-nous écrire ? Si vous voulez écrire, vous devez écrire quelque chose de vraiment utile pour qu'il y ait de l'intérêt pour le travail et que quelqu'un puisse profiter du résultat. Sur la base de ces données, un robot télégramme sera écrit et fonctionnera avec le site Web JavaRush. Est-ce que cela sera utile ? Sans aucun doute! Étant donné que les robots de télégramme ne sont pas si difficiles à écrire, vous pouvez rapidement obtenir un projet fonctionnel qui peut être utile.

Temps de développement

Les articles seront publiés une fois par semaine, vous aurez donc suffisamment de temps pour maîtriser/répéter/rédiger des questions si quelque chose n'est pas clair. Les premiers articles constitueront la base théorique que nous utiliserons dans le projet. Et puis c’est juste de la pratique.

MVP (produit minimum viable)

« Projet Java de A à Z » : rédiger un vrai projet pour un portfolio - 2Qu’est-ce que le MVP ? Le terme, comme d'habitude, n'est pas le nôtre, mais vous pouvez trouver une explication raisonnable sur le wiki . Nous citons : MVP est un produit qui possède des fonctionnalités minimales, mais suffisantes pour satisfaire les premiers besoins. La tâche principale est de recevoir des commentaires afin de formuler des hypothèses pour le développement ultérieur du produit. Pour nous, cette description correspond parfaitement. Une description rapide de toutes les fonctionnalités : en tant qu'utilisateur de Telegram, je souhaite pouvoir m'abonner à de nouveaux articles en groupe et recevoir des notifications lorsque de nouveaux articles sont publiés. J'adore lire le groupe Success Story , cela me motive à continuer à apprendre et à apprendre quelque chose de nouveau. Je suis paresseux et je ne veux pas actualiser la page à chaque fois . Par conséquent, en tant que programmeur, je souhaite me faciliter la vie et écrire un programme qui m'enverrait un message sur Telegram indiquant qu'un nouvel article a été publié. De plus : ce n’est pas le seul groupe que je suis. Je viens de Kharkov, je suis donc intéressé à lire les articles qui y sont publiés. En tant que développeur de ce produit, je serai très intéressé de savoir si quelqu'un utilise mon travail, nous ajouterons donc des fonctionnalités pour les administrateurs afin qu'ils puissent afficher les statistiques du robot Telegram. Est-il possible de faire cela? Certainement! Comment? C’est ce que je vais montrer dans une série d’articles.

Nom de code

Chaque projet sympa devrait avoir un nom de code. Le nôtre ne fera pas exception, donc pour l'instant ce sera comme ceci : JRTB (JavaRush Telegram Bot). Ci-après, on l'appellera ainsi.

Quels sujets allons-nous aborder ?

« Projet Java de A à Z » : rédiger un vrai projet pour un portfolio - 3

Base de données

Vous devez immédiatement comprendre que vous ne pouvez pas stocker d'état (données et informations) dans l'application. Les données doivent être stockées dans une base de données. Comme il n'y a aucune information là-dessus dans la formation (d'aussi loin que je me souvienne :D), je vais essayer de combler les lacunes de connaissances dont nous aurons besoin. Je vais essayer de rendre le schéma de base de données aussi simple que possible afin qu'il n'y ait pas de confusion. Cette partie comprendra :
  1. Théorie du travail avec SQL basé sur MySQL.
  2. Un outil pour travailler avec MySQL est MySQL Workbench.
  3. Versionnement de la base de données. Voie de migration et base liquide.
  4. Création d'un schéma de base de données.
  5. Créez un dessin de schéma de base de données.

Git

Il existe déjà des articles sur ce sujet. Bien entendu, rien ne fonctionnera sans un système de contrôle de version. Pour commencer à travailler sur JRTB, vous devez comprendre git. Vous pouvez le faire vous-même, ou vous pouvez lire mes articles sur ce sujet : Si vous le souhaitez, vous pouvez également en savoir plus sur les stratégies de branchement, mais ici ce n'est pas critique et peut être ignoré.

Maven

Nous parlerons ici du système d'assemblage, de son utilité, de la manière dont nous l'utiliserons, des éléments à prendre en compte et des règles de savoir-vivre. Nous parlerons également ici du versioning et de la manière exacte dont nous allons le faire.

Docker

Pour nous simplifier la vie et rendre le processus de déploiement aussi simple que possible, nous utiliserons Docker. Pour ce faire, parlons de ce qu'est Docker et des commandes utiles qui existent. Je veux dire tout de suite que j'utilise Docker au niveau utilisateur et que je ne sais peut-être pas ou ne suis pas capable de faire quelque chose)) Donc, si quelqu'un suggère comment rendre le travail avec Docker meilleur/plus facile, je n'en serai qu'heureux. Cette partie comprendra :
  1. Théorie et pratique de Docker.
  2. Sauvegarder/restaurer les données via Docker.
  3. Configurer notre projet pour qu'il s'exécute dans Docker.

Scripts bash

Pour automatiser le travail, il est parfois utile d'écrire un ou deux scripts. Les scripts Bash sont des scripts que tous les développeurs comprennent à un degré ou à un autre, car ils fonctionnent essentiellement en ligne de commande sous Linux, simplement enregistrés dans un fichier séparé.

Création d'une application

Tout le trajet sera ici. Sur la base des connaissances antérieures, nous créerons une application Spring Boot qui contiendra un objet bot télégramme. Qu'allons-nous faire ici ?
  1. Créer une description complète de la fonctionnalité qui devrait être là.
  2. Une brève description de ce qu'est un robot de télégramme.
  3. Création d'une application Spring Boot.
  4. Description du travail avec Lombok.
  5. Description du travail avec UniRest.
  6. Implémentation du modèle de commande + travail avec la création de votre propre annotation pour les commandes d'administrateur.
  7. Création d'un client pour travailler avec des requêtes JavaRush (telles qu'une liste de groupes, une liste d'articles dans un groupe) à l'aide d'UniRest.
  8. Essai. Écrivons tous les tests possibles pour couvrir nos fonctionnalités.
  9. Mise en place d'un système de vérification de la qualité du code et de construction automatique sur GitHub.
  10. Connexion de la base de données avec gestion des versions de la base de données.
Toutes ces étapes seront réalisées étape par étape, afin de mieux comprendre ce qui se passe.

Résultats futurs

En conséquence, nous obtiendrons un véritable projet que toute personne lisant les articles pourra mettre en œuvre. La beauté d'un bot télégramme est que vous pouvez lier ce projet à n'importe quel bot, afin de ne pas être dépendant du bot qui sera dans les articles. J'en dirai plus : ce n'est que le début de JRTB. De nouvelles fonctionnalités peuvent être discutées/ajoutées à l’avenir. Créez ce bot pour qu'il soit utile à tous les étudiants du projet JavaRush. Et le sentiment que d’autres personnes utilisent et aiment votre création vaut beaucoup ! Et vous, en tant que lecteurs de cette série d'articles, pourrez acquérir une réelle expérience en travaillant sur un projet réel. Traditionnellement, je propose de m'abonner à mon compte sur Github , dans lequel je poste des solutions et des projets. Tout le travail sur JRTB se fera via GitHub, je vous conseille donc de vous inscrire si vous ne l'avez pas déjà fait. Merci d'avoir lu tout le monde, à bientôt :)« Projet Java de A à Z » : rédiger un vrai projet pour un portfolio - 5
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION