The Divine Jewelry is a full-featured e-commerce platform for a jewelry store, built with Python Flask and MongoDB. This responsive web application provides a seamless shopping experience with features like product browsing, user authentication, shopping cart, order management, and admin dashboard.
The application is hosted at: http://cs2team20.cs2410-web01pvm.aston.ac.uk/
- User Authentication: Register, login, and profile management
- Product Management: Browse products by category, collection, and search
- Shopping Cart: Add items to cart, adjust quantities, and checkout
- Order Tracking: Real-time order status tracking for both guests and registered users
- Admin Dashboard: Comprehensive product, user, and order management
- Responsive Design: Seamless experience across desktop and mobile devices
- Email Notifications: Order confirmations and transactional emails
- Wishlist: Save favorite items for later
The jewelry is organized into distinctive collections:
- Crystal Collection: Brilliant pieces featuring crystal designs
- Leaf Collection: Nature-inspired jewelry with elegant leaf motifs
- Pearl Collection: Timeless elegance with lustrous pearls
- Backend: Python Flask
- Database: MongoDB Atlas
- Frontend: HTML, CSS, JavaScript
- Authentication: Flask-Login
- Email: Flask-Mail
- Form Processing: Flask-WTF
- Deployment: Linux server
To run this project on the server, follow these steps:
-
SSH into the server:
ssh cs2team20@cs2410-web01pvm.aston.ac.ukPassword:
NMfpRb6mThfW+q3e -
Navigate to the project directory:
cd Team-website-project -
Create a virtual environment:
python3 -m venv venv -
Activate the virtual environment:
source venv/bin/activate -
Install dependencies:
pip install -r requirements.txt -
Run the application:
python run.py -
The website will be available at: http://cs2team20.cs2410-web01pvm.aston.ac.uk/
app/: Core application directorystatic/: Static files (CSS, JS, images)templates/: HTML templatesmodels.py: Database modelsroutes.py: Request handlers and routesforms.py: Form definitionsdatabase.py: Database connection setup
config.py: Application configurationrun.py: Application entry point
To access the admin dashboard:
- Log in using admin credentials (Email: Admin123@Admin.com Password: Admin123)
- Navigate to
/adminor use the Admin Dashboard link in the navigation
For local development:
- Clone the repository
- Create a virtual environment
- Install dependencies:
pip install -r requirements.txt - Set up MongoDB connection in
config.py - Run with:
python run.py
This project is developed by Team 20.
- Team 20 Members