Les services sont construits à l'aide de Java EE EJB, Spring Boot, MySQL Bases et une file d'attente RabbitMQ. Tous les services sont exposés sous forme d'API REST L'interface Web a été réalisée à l'aide de servlets Java, de pages JSP, de HTML et JavaScript.
Chaque service est mis en œuvre comme son propre projet. Cela implique qu'il a sa propre base de code et sa propre base de données. Si vous avez le service S1 et le service S2, S1 ne devrait pas être en mesure d'obtenir des informations à partir de la base de données de S2, mais devrait plutôt la demander au service S2 via les appels de repos.
Exigences fonctionnelles
La demande d'achat aura besoin de produits pour être ajoutés par leurs sociétés de vente et aura besoin de compagnies maritimes pour livrer les produits, certaines activités administratives doivent être soutenues. L'application doit prendre en charge les fonctionnalités suivantes:
Fonctionnalités administratives
Création de comptes représentatifs des sociétés de vente de produits.
Étant donné une gamme de noms uniques d'entreprise
Le mot de passe pour chaque entreprise est généré automatiquement
Création de compagnies maritimes
Liste des comptes clients
Liste des compagnies maritimes
Listing des comptes représentatifs des sociétés de vente
Vente de fonctionnalités représentatives de l'entreprise
Connectez-vous dans le système en utilisant les informations d'identification générées comme envoyée par l'administrateur
Voir les produits actuellement proposés à la vente.
Voir les produits précédemment vendus, y compris des informations sur les clients qui ont acheté chaque produit et la compagnie maritime.
Ajouter de nouveaux produits.
Caractéristiques de la compagnie maritime
Les demandes d'expédition de processus tant que le client qui a acheté cette commande relève de ses région géographiques prises en charge.
Les clients doivent être informés, une fois la demande d'expédition traitée.
Fonctionnalités client
Inscrivez-vous en tant que nouveau client via le système.
Connectez-vous dans le système en utilisant les informations d'identification utilisées lors de l'enregistrement.
Affichez les bons de commande actuels et passés.
Faire de nouveaux bons de commande. Les commandes doivent être traitées de manière particulière pour éviter les situations de défaillance du serveur.
Le traitement des commandes et leur expédition devraient être confirmés aux clients.
Exigences techniques
Utilisation de 4 types de haricots différents pour répondre aux exigences fonctionnelles ci-dessus:
Apatride
Avec état
Singleton
Dictéré
L'interface doit être une interface Web en utilisant toute technologie de votre choix pour simuler une application d'achat en ligne fonctionnelle avec différents utilisateurs conformément aux exigences fonctionnelles susmentionnées.
Le service doit être exposé en tant qu'API REST, et vous devez exposer vos haricots à l'aide de repos pour réaliser l'API de repos du service Web, le cas échéant.