مشروع مركز التسوق عبر الإنترنت JSP
فترة المشروع: 21.01.13 ~ 21.01.29
رابط نشر EC2: http://15.164.166.37/shop ينتهي الترخيص المجاني لتوزيع خادم EC2.
فيديو العرض التوضيحي: https://youtu.be/umdegow_ulq
بيئة
- Windows 10
- JDK 1.8
- Tomcat 9.0
- أداة STS
- MySQL 8.0
- لومبوك
- GSON
- JSTL
- نيفر لوسي فلتر
- SHA-256
- الترميز: UTF-8
التصميم والمنتج ، صورة المنتج ، الموقع المرجعي وصف المنتج
- براندي
- https://www.brandi.co.kr/
- ترينبي
- أصلع
- https://www.balaan.co.kr/
مرجع
- يتم الدفع الفعلي عند اكتمال الدفع على شاشة الدفع ، ويتم معالجة الاسترداد التلقائي قبل الظهر.
استخدم API
- Kakao تسجيل الدخول إلى API
- https://developers.kakao.com/product/kakaologin
- Naver Login API
- https://nid.naver.com/user2/campaign/intronaveridlogin.nhn.nhn
- في حالة تسجيل الدخول إلى Naver و Kakao ، عند نقل تسجيل الدخول الأولي إلى نافذة إدخال المعلومات ، تم إدخال إدراج في جدول المستخدم لقيمة الإدخال وقيمة المعرف المستلمة من خادم Naver/Kakao.
- في وقت لاحق ، أثناء تسجيل الدخول ، تم تعيين معرف Kakao الفريد وقيم المعرف الفريدة من Naver لتسجيل الدخول.
- iMort API (خدمة الدفع)
- https://www.iamport.kr/getstarted
- API Summernote
- Sweetalert2
- https://sweetalert2.github.io/
إنشاء قاعدة بيانات MySQL وإنشاء المستخدم
CREATE USER ' shopuser '@ ' % ' identified by ' shop0805 ' ;
GRANT ALL privileges on * . * TO ' shopuser ' @ ' % ' ;
create database shopdb ;
إنشاء جدول MySQL
CREATE TABLE product (
id int primary key auto_increment,
productName varchar ( 120 ) unique not null ,
companyId int not null ,
price long not null ,
soldCount int default 0 ,
detail longtext not null ,
imgUrl_1 varchar ( 100 ) not null ,
imgUrl_2 varchar ( 100 ),
imgUrl_3 varchar ( 100 ),
imgUrl_4 varchar ( 100 ),
writerId int ,
createDate timestamp default now(),
updateDate timestamp default now()
); CREATE TABLE user (
id int primary key auto_increment,
username varchar ( 20 ) unique default null ,
name varchar ( 20 ) not null ,
email varchar ( 50 ) not null ,
phone varchar ( 13 ) not null ,
address varchar ( 120 ) not null ,
password char ( 64 ) not null ,
kakaoId long,
naverId long,
auth varchar ( 10 ) default ' user ' ,
createDate timestamp default now()
); CREATE TABLE company (
id int primary key auto_increment,
name varchar ( 40 ) unique not null ,
url varchar ( 80 ) unique
); CREATE TABLE favorite (
id int primary key auto_increment,
userId int not null ,
productId int not null ,
createDate timestamp default now()
); CREATE TABLE cart (
id int primary key auto_increment,
userId int not null ,
productId int not null ,
createDate timestamp default now()
); CREATE TABLE qna (
id int primary key auto_increment,
userId int not null ,
productId int not null ,
optionNo int not null ,
password varchar ( 4 ),
detail longtext,
createDate timestamp default now()
); CREATE TABLE review (
id int primary key auto_increment,
userId int not null ,
productId int not null ,
detail longtext not null ,
createDate timestamp default now(),
updateDate timestamp default now()
); وظائف تنفيذ
1. الاشتراك في العضوية 
- يتم تشفير كلمة المرور التي تم إدخالها عند التسجيل إلى SHA-256 وتخزينها في DB.
2. تسجيل الدخول 
3. Kakao تسجيل الدخول 
4. تسجيل الدخول naver 
مطلوب أول تسجيل دخول لـ Naver/Kakao لإدخال معلومات إضافية 
5. تسجيل الخروج
6. الصفحة الرئيسية 
- لقد استخدمت carousel.
- يتم استخدام تخطيط الشبكة.
7. القائمة بواسطة Top Bar Brand 
- استخدم عبارة SELECT لإظهار كل اسم الشركة لجدول الشركة. (حتى لو تمت إضافة الشركة ، فليس هناك حاجة لتعديلها بشكل منفصل.)
- هناك رؤوس وأعلى أشرطة على جميع الصفحات ، بحيث يمكنك استخدام المرشح لاستخدامه في جميع الصفحات.
8. 
9. وظيفة البحث 
- يوضح جميع المنتجات التي تحتوي على مصطلحات البحث وجميع نتائج الشركة.
10. صفحة التصنيف الصافية لحجم المبيعات 
- عندما يقوم المستخدم بشراء منتج ما ، سيرتفع عدد مشتريات جدول المنتج ، والنتيجة هي نتيجة حجم المبيعات باستخدام الطلب بواسطة SoldCount DESC.
11. على صفحة المنتج بأكملها ، 
- إنها ميزة لا ترى سوى منتجات العلامة التجارية ذات العلامات التجارية على الجانب الأيسر.
12. أضف القائمة العليا عند تسجيل الدخول 
- إذا كانت درجة المستخدم أعلى من المسؤول ، فسيتم إنشاء قائمة تسجيل المنتج وتعديل المنتج.
- إذا كان المستخدم أكثر من مجرد إنشاء عربة تسوق ، وسوق التسوق ، وتعديل المعلومات ، وقائمة تسجيل الدخول.
13. أعد تأكيد كلمة المرور عند النقر على المعلومات 
- عندما يدخل المستخدم كلمة المرور التي قام بتعيينها ، يتم تطبيق قيمة الإدخال على ترميز SHA-256 لمقارنتها بالقيمة المخزنة في DB.
14. تعديل معلومات العضوية 
15. صفحة المنتج التفصيلية -top 
- حدد قيمة جدول المنتج.
- إذا قمت بالنقر فوق زر الشراء مباشرة ، انتقل إلى صفحة الدفع. (فقط في وقت تسجيل الدخول)
- إذا قمت بالنقر فوق زر عربة التسوق ، فسيتم إضافته إلى العربة. (فقط في وقت تسجيل الدخول)
- إذا قمت بالنقر فوق زر التبخير ، يتم إضافته إلى قائمة Steam. (فقط في وقت تسجيل الدخول)

- عند النقر فوق الزر أثناء تسجيل الدخول

- عند النقر فوق الزر أثناء تواجدها في الحالة
- انتقل إلى صفحة العضوية عند النقر فوق العضوية.
16. صفحة المنتج التفصيلية -TAB 
- انقر على كل علامة تبويب للانتقال إلى حيث توجد علامة التبويب.
- لقد استخدمت الموقف اللزج.
- بالانتقال إلى المكان الذي توجد فيه كل علامة تبويب ، يتم عرض الخط الأسود في أسفل علامة التبويب هذه.
17. صفحة المنتج التفصيلية -علامة التبويب مراجعة وعلامة تبويب الأسئلة والأجوبة 
- انقر على العنوان للانتقال إلى الصفحة التفصيلية.
- في حالة سؤال وجواب ، إذا قمت بإدخال كلمة المرور الخاصة بك عند الكتابة ، فلن تتمكن من رؤية العنوان واسم المؤلف.
- اضغط على السهم في أسفل اليمين للذهاب على الفور إلى أعلى الصفحة.
18. مراجعة مفصلة ، سؤال وجواب 
19. 
- بعد تأكيد كلمة المرور ، إذا كنت تتطابق ، انتقل إلى صفحة التفاصيل.
20. عند النقر على المراجعة بأكملها 
- يمكنك تحميل محتويات المنتج الذي كنت تبحث عنه معًا ، ويمكنك الانتقال إلى صفحة المنتج عند النقر فوق صورة المنتج.
21. عند النقر فوق سؤال وجواب بأكمله 
- يمكنك تحميل محتويات المنتج الذي كنت تبحث عنه معًا ، ويمكنك الانتقال إلى صفحة المنتج عند النقر فوق صورة المنتج.
- الأسرار مخفية أيضا هنا.
22. عند كتابة مراجعة 
- تم استخدام Summernote باستثناء الصور الفوتوغرافية ووظائف الفيديو.
23. عند النقر فوق سؤال وجواب 
- تم استخدام Summernote باستثناء الصور الفوتوغرافية ووظائف الفيديو.
24. على البخار في القائمة العلوية اليمنى 
- يتم عرض فقط المنتجات التي يتم وضعها على البخار.
- كما يتم عرض العلامة التجارية التي تم وضعها على البخار من قبل العضو في صندوق الراديو الأيسر أيضًا.
25. 
- يتم عرض فقط المنتجات التي أضافها العضو إلى عربة التسوق.
- انقر فوق زر القلب في القائمة لإضافة ميزات على البخار/الحذف.
- انقر فوق زر عربة التسوق على الجانب الأيمن من قائمة المنتجات لاستخدام العربة.
- عند النقر للطلب ، انتقل إلى صفحة الدفع.
26. صفحة الدفع 
- عند النقر فوق عربة التسوق الخاصة بك ، ستحصل على المنتج الكامل من عربة التسوق الخاصة بك.
- إذا قمت بالنقر فوق صفحة تفاصيل المنتج مباشرةً ، فسيتم استيراد المنتج فقط.
- عند النقر فوق انقر لإكمال الطلب ، انتقل إلى صفحة الدفع.
27. شاشة الدفع 
28. عند فشل الدفع 
- تحتوي نافذة الإخطار التي تحتوي على الخطأ على نافذة إشعار.
29. عند نجاح الدفع 
- هناك نافذة إشعار بما في ذلك تفاصيل النجاح ، وستذهب النقرات على التأكيد إلى الصفحة الرئيسية.
30. 
- يمكنك رؤية تاريخ النجاح/الفشل.