


Pratiquez le projet étape par étape, complétez-le et écrivez-le directement sur votre CV !
De nombreux amis qui n'ont aucune expérience en matière de projet ou aucun projet marquant peuvent venir ici.
Je travaille récemment sur un projet : Projet de pile de chargement. Cet article vous présente le contexte de ce projet, quelques diagrammes prototypes, les fonctions de base, les modules de base, la pile technologique, etc.
Introduction au contexte du projet
Avec le développement continu de l'industrie automobile de mon pays, les véhicules électriques ont progressivement commencé à diriger l'ensemble de l'industrie automobile, et de plus en plus de personnes commencent à les utiliser tout en poursuivant la protection de l'environnement et avantages économiques. Pour les véhicules électriques, le système de gestion back-end des bornes de recharge de Chaoxing met en œuvre une gestion centralisée à plusieurs niveaux et multi-sites, un système intelligent de surveillance et de gestion du fonctionnement de la station de recharge qui intègre la gestion visuelle, les statistiques et l'analyse des données de vente du site, et peut personnaliser les plans de recherche et développement en fonction des besoins.
La pile de recharge fait référence à un dispositif de recharge qui fournit un complément d'énergie aux véhicules électriques. Sa fonction est similaire au distributeur de gaz dans une station-service. Elle peut être fixée au sol ou au mur et installée dans les bâtiments publics (publics). bâtiments, centres commerciaux, parkings publics) etc.) et dans les parkings résidentiels ou les bornes de recharge, différents types de véhicules électriques peuvent être rechargés selon différents niveaux de tension.
L'extrémité d'entrée de la pile de chargement est directement connectée au réseau électrique alternatif et l'extrémité de sortie est équipée d'une prise de charge pour charger les véhicules électriques. Les piles de chargement proposent généralement deux méthodes de chargement : le chargement conventionnel et le chargement rapide. Les utilisateurs peuvent utiliser une carte de chargement spécifique pour glisser la carte sur l'interface d'interaction homme-machine fournie par la pile de chargement afin d'effectuer les opérations de chargement correspondantes et d'imprimer les données de coût. L'écran d'affichage peut afficher la capacité de charge, le coût, le temps de charge et d'autres données.
La conversation précédente provenait d'Internet et portait sur l'importance du projet de pile de recharge.
Commençons l'introduction du système
Rôles du système : Utilisateurs (utilisateurs ordinaires, utilisateurs VIP), investisseurs, administrateurs
Processus principal :
1. , Des bornes de recharge sont installées sur ce site.
2. Enregistrement du groupe d'utilisateurs, connexion, authentification et paiement du dépôt. Les utilisateurs ajoutent des informations sur le véhicule, les utilisateurs utilisent WeChat pour recharger, les utilisateurs facturent, obtiennent des points, etc.
3. L'utilisateur invite d'autres utilisateurs à s'inscrire, d'autres utilisateurs terminent l'authentification et l'utilisateur reçoit le revenu d'invitation.
4. Centre commercial de points : y compris gagner des points, échanger des points contre des chèques-cadeaux et enregistrer des échanges de points
5. Page d'accueil (centrales électriques à proximité, mon portefeuille, ma voiture, contacter le service client et activation de l'adhésion)
Le client. comprend principalement :
1. Inscription, connexion
2. Centre de recharge (paiement WeChat, enregistrement de paiement)
3. Mes revenus (revenus d'invitation, enregistrement de revenus)
4. Liste des piles de chargement)
5. Coupons (tous les coupons, coupons disponibles, coupons expirés, enregistrements d'utilisation des coupons)
6. Chargement (début de chargement, chargement, enregistrement de chargement)
Système de gestion d'arrière-plan de pile de chargement Il comprend principalement les modules suivants :
1. Gestion du site (gestion des informations sur les bornes de recharge et les bornes de recharge) ;
2. Coopération en franchise (gestion unifiée des investisseurs et des contrats)
3. , groupe et autres modules)
4. Gestion des transactions (gestion des précipitations des enregistrements de facturation, des flux de transactions, des enregistrements de recharge, etc.)
5. 6. Analyse statistique (état de fonctionnement, analyse de la consommation d'énergie, états financiers, gestion du module d'analyse des pannes)
7. Gestion unifiée de plusieurs modules tels que la surveillance en temps réel (surveillance vidéo, module de surveillance des panneaux d'affichage).
Client





Terminal de gestion backend

Une partie du prototype Picture





Planification du projet
Projet global Divisé en plusieurs modules :
--charge-station | |-charge-web 用户端 | |-charge-admin 管理端 | |-charge-common 公共模块 | |-charge-mq 消息队列 消费者 | |-charge-job 任务调度 | |-charge-service | |-charge-user-service 用户服务 | |-charge-marketing-service 市场营销 | |-charge-station-service 站点服务 | |-charge-pay-service 支付服务 | |-charge-point-service 积分商城
Technologie du projet
Technologie | Description | Site officiel |
---|---|---|
SpringBoot | Contain euh + framework MVC | https://spring.io/projects/spring - boot |
Spring Cloud (Nacos, feign, hystrix) | Composants liés aux microservices | |
SpringSecurity | Cadre d'authentification et d'autorisation | https://spring.io/projects/spring-security |
MyBatis | ORM Framework | http://www.mybatis.org/mybatis-3 /zh/index.html |
MyBatisGenerator | Génération de code de couche de données | http://www.mybatis.org/generator/index.html |
RabbitMQ | File d'attente des messages, file d'attente des messages retardée | https ://www.rabbitmq.com/ |
Redis | Cache distribué, verrouillage distribué | https://redis.io/ |
Nginx | Serveur de ressources statiques | https://www .nginx .com/ |
Atomikos | Transactions distribuées | https://www.atomikos.com/Main/WebHome |
Jenkins | Outil de déploiement automatisé | https://github.com/ jenkinsci/jenkins |
Druid | Pool de connexion à la base de données | https://github.com/alibaba/druid |
MinIO | Stockage d'objets | https://github.com/minio/minio |
JWT | Prise en charge de la connexion JWT | https://github.com/jwtk/jjwt |
Lombok | Outil d'encapsulation d'objet simplifié | https://github.com/rzwitserloot/lombok |
Hutool | Classe d'outils Java Bibliothèque | https://github.com/looly/hutool |
PageHelper | Plugin de pagination physique MyBatis | http://git.oschina.net/free/Mybatis_PageHelper |
Swagger-UI | Documentation Outils de génération | https://github.com/swagger-api/swagger-ui |
Hibernator-Validator | Cadre de validation | http://hibernate.org/validator |
xxl-job | Planification distribuée des tâches | https://www.xuxueli.com/xxl-job/ |
Ce qui précède est la structure actuelle du projet. Il peut continuer à être étendu à l'avenir, continuer à ajouter des modules ou continuer à diviser le projet.
Structure des tables de base de données
Diagramme des relations avec la base de données
Les tables liées à la gestion du backend ne sont pas présentées ici. Ce qui suit se concentre sur les tables liées au cœur de métier, qui sont actuellement les suivantes :

La base de données doit être divisée s'il ne s'agit que d'une seule base de données, cela ne semble pas avoir beaucoup de sens.
Plan approximatif :
1. Base de données de la plateforme de gestion
2. Base de données du centre d'utilisateurs
3. Base de données du centre de marketing
Nous pouvons continuer à diviser la base de données verticalement sur cette base.
Ce projet utilise :
Spring Cloud (Nacos, Feign, Hystrix, Sentinel, Gateway)Spring Boot
MyBatis
MySQL
Atomikos
Redis
RabbitMQ
XXL-job
OSS
Les points techniques pertinents utilisés dans ce projet sont les suivants :
1. Sortie du journal d'annotations AOP+.
2. Redis sert de cache distribué, de verrouillage distribué, de liste de classement et d'autres fonctions.
3. Atomikos implémente des transactions distribuées.
4. RabbitMQ implémente l'asynchronisation commerciale et la file d'attente de messages retardée.
5. XXL-job implémente la planification distribuée des tâches.
6. Utilisez Nacos comme centre d'enregistrement de services et centre de configuration distribué
7. Unifiez le code retour de l'interface API
...
Une fois ce projet terminé, il peut être écrit sur votre CV.
J'espère que vous n'écrivez pas de projets de commerce électronique, de projets hospitaliers, de projets d'éducation en ligne, de projets de conseil, etc. sur votre CV. Voir ces projets peut facilement être jugé comme de faux projets par l'intervieweur, ce qui peut également en conduire à quelques-uns. opportunités d’entretiens individuels.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide de la racine carrée en Java. Nous discutons ici du fonctionnement de Square Root en Java avec un exemple et son implémentation de code respectivement.

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Guide du générateur de nombres aléatoires en Java. Nous discutons ici des fonctions en Java avec des exemples et de deux générateurs différents avec d'autres exemples.

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.
