Entwicklung von Internet -Einkaufszentren mit Frühling
Gliederung
- Dies ist das erste Projekt während des Schul- und E -Entwickler -Schulungskurs von Hyundai.
- Die Einkaufszentrum -Homepage wird unter Verwendung der Produktdaten produziert, die von den gutaussehenden Bereichen bereitgestellt werden.
Entwicklungszeit/Personal
- 2021.09 ~ 2021.10 / 2 Wochen
- 4 -person -Projekt
Entwicklungsumfeld
- Java
- JSP
- Frühling
- Mybatis
- Orakel
Rolle
SEO min -cheol (Teamleiter)
- Gesamt -API -Logikentwicklung
- DB Lock Anti -logische Entwicklung bei der Teilnahme an der Veranstaltung
- Entwicklung der Marken- und Produktkategoriefunktion
- Entwicklung von Produktlistenseiten für jede Marken- und Produktkategorie
- Detaillierte Seite und Funktionsentwicklung nach Produkt anzeigen
- Seitenbag (Einkaufswagen) und Funktionsentwicklung
- Payment -Seite und Funktionsentwicklung bestellen
- Entwickelt als "als Standard -Versandziel festgelegt", "Einstellung als aktuelle Versandziel" -Funktion
Yonghyuk Byun
- Gesamt -API -Logikentwicklung
- Entwicklung der Ereignisliste und Ladefunktion
- Event detaillierte Informationen Seitenentwicklung
- DB Lock Anti -logische Entwicklung bei der Teilnahme an der Veranstaltung
- Entwicklung der Gutscheinliste und Ladefunktion
- Detaillierte Seite und Funktionsentwicklung nach Produkt anzeigen
- Seitenbag (Einkaufswagen) und Funktionsentwicklung
- Gleichzeitige Entwicklung der Benutzerfunktion
Seohoe -Typ
- Entwicklung der Marken- und Produktkategoriefunktion
- Feder Sicherheitsfunktionsverknüpfung
- Setzen Sie den Zugriff auf zugängliche Seite für jede Autorität
- DB Lock Anti -logische Entwicklung bei der Teilnahme an der Veranstaltung
- Detaillierte Seite und Funktionsentwicklung nach Produkt anzeigen
Lee Soo -jeong
- Entwicklung der Ereignisliste und Ladefunktion
- DB Lock Anti -logische Entwicklung bei der Teilnahme an der Veranstaltung
- Detaillierte Seite und Funktionsentwicklung nach Produkt anzeigen
- Seitenbag (Einkaufswagen) und Funktionsentwicklung
- Bestätigungsdetails Bestätigungsseite und Filterfunktionsentwicklung
Erläuterung

- Wir verweisen auf die Hanseom -Seite, um die Aufgabe zu lösen.
- Das obige Bild ist ein Drahtrahmen, der zur Analyse und Implementierung von Hanseom -Seite nach Rolle geschrieben wurde.

- ERD für die Verwaltung der von einer Insel gelieferten Daten.

- Dies ist ein Zeitplan, der den Entwicklungsplan von etwa zwei Wochen zusammenfasst.
- Frühe 3 Tage: DB -Tabellendesign und Bildschirmimplementierung
- Die meisten von ihnen: Implementierung wesentlicher Funktionen
- Letzte 2 Tage: Fügen Sie einfache Komfortfunktionen hinzu und ändern Sie Fehler
- Das Gesamtformmanagement des Projekts verwendete Git.

- Der Header enthält eine Navigationsleiste, die auf die Login-, Logo- und Produktliste verschoben werden kann.
- Wenn Sie die Maus hochladen, sehen Sie eine niedrigere Klassifizierung in Form einer Dropdown -Art.
- Zu diesem Zeitpunkt wurden die Informationen mit niedrigerer Kategorie so konzipiert, dass sie mit AJAX asynchron sind.

- Wenn Sie auf die Veranstaltung klicken, werden Sie auf dem Bildschirm angezeigt, auf dem Sie an der Veranstaltung teilnehmen können.
- Aufgrund der Art des ersten Ereignisses, der zuerst, können viele Benutzer in kurzer Zeit gleichzeitig eine Verbindung herstellen, sodass DB Lock generiert werden kann.
- Um diesen Punkt zu lösen, setzen wir einen Thread auf den Thread -Pool und konzipiert, um einen Gutschein für Benutzer auszugeben, die eine Verbindung herstellen.
- Darüber hinaus wurde der gesamte Prozess der Zahlung von Gutscheinen an Benutzer und Reduzierung der verbleibenden Anzahl von in der DB gespeicherten Gutscheinen als Transaktion festgelegt.

- Ich habe Spring Security verwendet, um ein Login zu implementieren.
- Die von Sicherheit bereitgestellte Funktion wurde verwendet, um eine gute Skalierbarkeit zu betrachten, da das Projekt später entwickelt wurde.
- Jedes Mitglied gewährte die Mitgliedsnummer und entworfen das Sicherheitsproblem, indem er sie anstelle der ID des Mitglieds auf die Mitgliedsnummer verwies.

- Klicken Sie auf das Menü der Navigationsleiste und Sie sehen die Produkte, die dieser Kategorie entsprechen.
- Die Liste der Produkte wird asynchron mit AJAX importiert.
- Die Paging -Funktion hat die Ladezeit der Produktausstellung verkürzt, indem bis zu 12 Produkte pro Seite ausgegeben wurden.

- Dies ist eine detaillierte Informationsseite, die Sie beim Klicken auf das Produkt sehen.
- Die Farbe und Größe des Produkts werden als Taste angezeigt.
- Wenn Sie hier Farbe und Größe wählen, sehen Sie die verbleibende Menge des Produkts.
- Wenn Sie sich das Bild ansehen, sehen Sie ein Meldungsfeld und die Anzahl der Kunden, die das gleiche Produkt betrachten, wird ausgegeben.

- Dies ist eine Einkaufstasche, die als Einkaufswagen fungiert.
- Hier können Sie die Menge, Größe und Farbe des Produkts ändern und es löschen.
- Sie können das Kontrollkästchen links verwenden, um den Artikel zum Kauf zu wählen und zum Zahlungsbildschirm zu übergehen.

- Dies ist eine Zahlungsseite, die bestellt werden kann.
- Zeigen Sie die Liste der Produkte an, die Sie auf dem Bildschirm kaufen möchten.
- Die Form der Eingabe des Versandziels ist so konzipiert, dass die Postleitzahlanfrage mithilfe der Postcode -API, die nach folgenden Bereitstellungen bereitgestellt wird, ermöglicht:
- Wir haben eine Funktion entwickelt, die sich der Versandtabelle nähert und die grundlegenden Versand- oder Versandziele des Benutzers importiert.
- Um das Produkt zu bezahlen, wurde die in der DB durchgeführte Prozesse mit Transaktionen verbunden.
- Nach Abschluss der Zahlung wird der Artikel aus der Einkaufstaschenliste entfernt.

- Schließlich ist dies eine Auftragsliste, auf der Sie Ihren Bestellverlauf überprüfen können.
- Eine Filterfunktion wurde hinzugefügt, die mit Produktcode oder Produktname durchsucht werden kann.
- Sie können die Paging -Funktion verwenden.
Problemlösung

- Die von unserem Team von MPA entwickelte Webanwendung.
- Alle Seiten enthalten Header. Jedes Mal, wenn Sie Ihre Seite verschieben, gab es ein Problem, das Sie jedes Mal Marken-/Kategorieinformationen aus der DB bringen mussten.
- Um diesen Teil zu lösen, haben wir Marken- und Kategorieninformationen in der Sitzung nach dem ersten Laden gespeichert und verwendet.
- Je mehr der Benutzer jedoch den Nachteil hatte, dass der Server geladen werden könnte.
- Daher habe ich eine Methode zum Speichern von Marken und Kategorien in statischen Variablen verwendet, um die Serverlasten zu reduzieren.

- Unter den Marken gab es einen Markennamen, einschließlich spezieller Symbole, was in einem Tag Fehler verursachte.
- Um diesen Teil zu lösen, haben wir eine Einstellung hinzugefügt, mit der Sie ein spezielles Zeichen als Parameter für die Serverkonfigurationsdatei verwenden können.