- Name: Dylan Boyle
- Student ID: G00438786
- Submission Date: 19/05/2024
This project is a Clothing Website specializing in Streetwear. It is an improved version of a previous project from my repository called "Streetwear-Web", with enhanced functionalities and the integration of Node.js. It allows users to browse products, register accounts, manage shopping carts, and complete purchases with discounts applied for larger orders.
The website starts with the Index Page (Home Page), featuring a logo, navigation bar, profile icon, and shopping cart icon. Users can navigate to sections like About, Menu, Products, Review, Contact, and Blogs through a single-page interface.
-
User Authentication:
- Registration and login functionality.
- Profile management with secure handling of user credentials.
-
Shopping Cart and Checkout:
- Add, remove, and manage item quantities in the shopping cart.
- Discounts:
- 20% off orders over £100.
- 30% off orders over £200.
- Checkout process includes delivery address, item quantity, and payment method inputs.
-
Reviews Section:
- Users can provide ratings and comments.
- Feedback is displayed dynamically on the site.
-
Dynamic Content:
- Menu items and products are fetched from a database.
- Dynamic routing and content rendering using EJS templates.
-
Responsive Design:
- Styled using Bootstrap 5 for compatibility across devices.
-
Slideshow:
- Automated slideshow on the homepage to display images dynamically.
- HTML, CSS, JavaScript
- Bootstrap 5 (via CDN)
- Node.js
- Express.js
- MySQL database (Name: G00348786)
- Form Validation: Ensures all fields (e.g., email, password, and address) are correctly filled.
- Dynamic EJS Templates: Used for pages like Checkout, Reviews, and Thank You.
- Database Integration: Handles product, user, order, and review data.
-
User Login & Registration:
- Register with a username, email, and password.
- Secure password handling using bcrypt.
-
Form Validation:
- JavaScript validations for empty fields, valid email addresses, and password length.
-
Slideshow:
- Automated slideshow implemented using JavaScript.
-
Shopping Cart:
- Quantity adjustment and dynamic total price calculation with discount application.
-
Order Submission:
- Form validation and secure data submission using Fetch API.
-
Reviews:
- Star ratings and user comments stored in the database.
-
Database Integration:
- MySQL tables for users, products, orders, and reviews.
- Open the Index Page to start exploring.
- Register or Sign In to access personalized features.
- Add items to the Shopping Cart, adjust quantities, and proceed to checkout.
- Fill in the delivery address and payment method to place an order.
- Submit ratings and comments in the Review Section.
Due to time constraints:
- User authentication before purchase is incomplete.
- Further refinements could be made for additional functionality and optimization.
-
Clone the repository:
git clone https://github.com/Dylanjb96/Web-Applications-Development-Project.git
-
Install Dependencies
npm install
-
Start the Server
npm start
-
Open http://localhost:3000 in your browser