Développement de centres commerciaux Internet utilisant le printemps
contour
- Il s'agit du premier projet du cours de formation des développeurs Hyundai IT & E.
- La page d'accueil du centre commercial est produite à l'aide des données du produit fournies par le beau.
Période de développement / personnel
- 2021.09 ~ 2021.10 / 2 semaines
- Projet 4-Personne
Environnement de développement
- Java
- Jsp
- Printemps
- Mybatis
- Oracle
Rôle
Seo Min -Cheol (chef d'équipe)
- Développement global de la logique API
- DB Lock Anti -Logic Development lorsque vous participez à l'événement
- Développement de la fonction de la marque et de la catégorie de produits
- Développement de pages de liste de produits pour chaque marque et catégorie de produits
- Afficher la page détaillée et le développement fonctionnel par produit
- Page à provisions (panier) Page et développement de fonctions
- Commandez la page de paiement et le développement de la fonction
- Développé comme «Définir comme une destination d'expédition par défaut», «Définition en tant que destination récente»
Yonghyuk Byun
- Développement global de la logique API
- Développement de la liste des événements et de la fonction de chargement
- Événement Développement de pages d'informations détaillées
- DB Lock Anti -Logic Development lorsque vous participez à l'événement
- Développement de la liste des coupons et de la fonction de chargement
- Afficher la page détaillée et le développement fonctionnel par produit
- Page à provisions (panier) Page et développement de fonctions
- Développement de fonctions utilisateur simultanée
Type seohoe
- Développement de la fonction de la marque et de la catégorie de produits
- Spring Security Fonction Linkage
- Définition de l'accès à une page accessible pour chaque autorité
- DB Lock Anti -Logic Development lorsque vous participez à l'événement
- Afficher la page détaillée et le développement fonctionnel par produit
Lee Soo-jeong
- Développement de la liste des événements et de la fonction de chargement
- DB Lock Anti -Logic Development lorsque vous participez à l'événement
- Afficher la page détaillée et le développement fonctionnel par produit
- Page à provisions (panier) Page et développement de fonctions
- Détails de commande Page de confirmation et développement de la fonction de filtre
explication

- Nous nous référons à la page Hanseom pour résoudre la tâche.
- L'image ci-dessus est un cadre filaire écrit pour analyser et implémenter la page Hanseom par rôle.

- ERD conçu pour gérer les données fournies à partir d'une île.

- Il s'agit d'un calendrier qui résume le calendrier de développement d'environ deux semaines.
- Début 3 jours: conception de table DB et mise en œuvre d'écran
- La plupart d'entre eux: implémentation de fonctions essentielles
- 2 derniers jours: ajouter des fonctionnalités de commodité simples et modifier les bogues
- La gestion globale de la forme du projet a utilisé Git.

- L'en-tête comprend une barre de navigation qui peut être déplacée sur le bouton de connexion, le logo et la liste des produits.
- Si vous téléchargez la souris, vous verrez une classification inférieure sous forme de liste déroulante.
- À l'heure actuelle, les informations de catégorie inférieure ont été conçues pour l'apporter asynchrones à l'aide de l'Ajax.

- Cliquez sur l'événement vous montrera l'écran où vous pouvez participer à l'événement.
- En raison de la nature de l'événement du premier-résultat, le premier sert, de nombreux utilisateurs peuvent se connecter en même temps en peu de temps, de sorte que le verrouillage de la base de données peut être généré.
- Pour résoudre ce point, nous définissons un thread sur le pool de thread et conçu pour émettre un coupon pour les utilisateurs qui se connectent.
- De plus, l'intégralité du processus de paiement des coupons aux utilisateurs et de la réduction du montant restant des coupons stockés dans la base de données a été fixé en tant que transaction.

- J'ai utilisé Spring Security pour implémenter une connexion.
- La fonction fournie par la sécurité a été utilisée pour être utilisée car elle a été considérée comme une bonne évolutivité étant donné que le projet est développé plus tard.
- Chaque membre a accordé le numéro de membre et a conçu le problème de sécurité en le concevant en faisant référence au numéro de membre au lieu de l'ID du membre.

- Cliquez sur le menu de la barre de navigation et vous verrez les produits correspondant à cette catégorie.
- La liste des produits est importée de manière asynchrone à l'aide d'Ajax.
- La fonction de pagination a réduit le temps de chargement de l'exposition des produits en produisant jusqu'à 12 produits par page.

- Il s'agit d'une page d'informations détaillée que vous voyez lorsque vous cliquez sur le produit.
- La couleur et la taille du produit sont représentées sous forme de bouton.
- Si vous choisissez la couleur et la taille ici, vous verrez la quantité restante du produit.
- Si vous regardez l'image, vous verrez une boîte de message et le nombre de clients qui regarde le même produit est la sortie.

- Il s'agit d'une page de sacs à provisions qui agit comme un panier.
- Ici, vous pouvez modifier la quantité, la taille et la couleur du produit et la supprimer.
- Vous pouvez utiliser la case à cocher à gauche pour sélectionner l'article à acheter et passer à l'écran de paiement.

- Il s'agit d'une page de paiement qui peut être commandée.
- Afficher la liste des produits que vous souhaitez acheter à l'écran.
- Le formulaire de saisie de la destination d'expédition est conçu pour permettre à la demande de code postal à l'aide de l'API du code postal fourni par les suivants:
- Nous avons développé une fonction qui aborde le tableau d'expédition et importe l'expédition de base de l'utilisateur ou les destinations d'expédition récentes.
- Afin de payer le produit, la série de processus exécutés dans la base de données a été lié à des transactions.
- Une fois le paiement terminé, l'article est retiré de la liste des sacs à provisions.

- Enfin, il s'agit d'une page de liste de commandes où vous pouvez vérifier l'historique de votre commande.
- Ajout d'une fonction de filtre qui peut être recherchée avec le code produit ou le nom du produit.
- Vous pouvez utiliser la fonction de pagination.
Résolution des problèmes

- L'application Web développée par notre équipe travaille par MPA.
- Toutes les pages incluent les en-têtes, donc chaque fois que vous déplacez votre page, il y avait un problème que vous deviez apporter des informations de marque / catégorie de la DB à chaque fois.
- Pour résoudre cette pièce, nous avons fait des informations de marque et de catégorie à stocker et à utiliser dans la session après le premier chargement.
- Cependant, plus l'utilisateur avait l'inconvénient que le serveur pouvait être chargé.
- J'ai donc utilisé une méthode de stockage de marques et de catégories dans des variables statiques pour réduire les charges de serveur.

- Parmi les marques, il y avait un nom de marque, y compris des symboles spéciaux, qui ont provoqué des erreurs dans une balise.
- Pour résoudre cette pièce, nous avons ajouté un paramètre qui vous permet d'utiliser un caractère spécial comme paramètre au fichier de configuration du serveur.