CircuitCart is a modern e-commerce platform dedicated to providing a wide range of computer components, peripherals, and more. Built with user experience and scalability in mind, CircuitCart offers a seamless shopping experience for tech enthusiasts, DIY builders, and professionals alike.
- 🚀 Project Overview
- ✨ Features
- 🔧 Tech Stack
- ☁️ AWS Infrastructure
- ⚙️ Environment Variable Templates
- 🛠️ Development Considerations
- 🚀 Installation & Setup
CircuitCart is a comprehensive online store that caters to the needs of customers looking for computer components and peripherals. The platform is designed for a smooth and secure shopping experience and is hosted on AWS using EC2 for server hosting and S3 for static asset management. This approach ensures high availability, scalability, and performance.
- Intuitive User Interface: Easy navigation and a clean design to enhance user experience.
- Extensive Product Catalog: A wide range of computer components, peripherals, and related accessories.
- Secure Checkout: Robust payment gateway integration for safe transactions.
- Responsive Design: Optimized for both desktop and mobile devices.
- Scalable Infrastructure: Leveraging AWS services (EC2 & S3) to accommodate growth and ensure reliability.
- Fast Load Times: Efficient asset management with S3 for optimal performance.
- Frontend: REACT
- Backend: Python, FastAPI
- Database: PostgreSQL
- Hosting: AWS EC2 for server deployment and AWS S3 for static asset storage.
CircuitCart is deployed on Amazon Web Services, utilizing:
- EC2: For hosting the application server and managing backend operations.
- S3: For storing and delivering static assets such as images, stylesheets, and JavaScript files.
- (Additional AWS services, like CloudFront or RDS, can be added if used in your project.)
For proper configuration of the application, create the following .env files in the respective directories:
REACT_APP_API_URL=SQLALCHEMY_DATABASE_URL=
SECRET_KEY=
ALGORITHM=
ACCESS_TOKEN_EXPIRE_MINUTES=When developing locally, please note the following:
- Configuration Files: Update
main.pyandnginx.confto reflect your local development environment. These files should be adjusted when transitioning from local testing to production deployment. - Environment Settings: Ensure that the settings in your
.envfiles match your current environment, and double-check configurations before pushing to production. - Frontend Dependencies: Before running the frontend, navigate to the
frontendfolder and install dependencies using:This ensures that all required packages are available for development.cd frontend npm install - Docker Command (Local Testing):
To run the full stack using Docker Compose, use the following command:This will start both the backend and frontend services in Docker containers.docker-compose up --build