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.
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).
Une partie du prototype Picture
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 | 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.
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.
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!