This project is an eCommerce platform built from scratch using React, Redux, Django, and Postgres. It includes essential features such as a shopping cart, product reviews, ratings, user profiles with order history, a checkout process with PayPal and credit card integration, JWT authentication, and more.
- Shopping Cart: Users can add products to a cart and proceed to checkout.
- Product Reviews and Ratings: Users can leave reviews and rate products.
- Top Products Carousel: Display a carousel of top-rated or featured products.
- Product Pagination: Pagination for browsing through a large number of products.
- Product Search: Search feature to find products based on keywords.
- User Profile: User profiles with order history and details.
- Checkout Process: Complete checkout flow including shipping and payment method selection.
- Payment Integration: Integration with PayPal and credit card payments.
- JWT Authentication: Secure authentication using JSON Web Tokens.
- Redux State Management: Centralized state management with Redux, using actions and reducers.
- TDD (Test-Driven Development): Developed with a focus on TDD principles.
- Frontend: React.js, Redux
- Backend: Django, Django REST Framework
- Database: PostgreSQL
- Authentication: JWT (JSON Web Tokens)
- Payment Integration: PayPal, Credit Card
To get a local copy up and running follow these simple steps.
- Node.js
- Python
- PostgreSQL
-
Clone the repo
git clone https://github.com/your_username/your_repository.git
-
Install NPM packages (frontend)
cd frontend npm install -
Install Python packages (backend)
cd ../backend pip install -r requirements.txt -
Setup PostgreSQL database
- Create a PostgreSQL database and update the database settings in
backend/settings.py
- Create a PostgreSQL database and update the database settings in
-
Run migrations
python manage.py migrate
-
Start the backend server
python manage.py runserver
-
Start the frontend server
cd ../frontend npm start
- Access the application at
http://localhost:3000 - Explore different products, add items to the cart, and proceed through the checkout process.
- Leave reviews and ratings for products.
- View your user profile and order history.
- Unit tests and integration tests are implemented using tools like Jest, Enzyme (for React components), and Django's built-in testing framework.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Your Name - @twitter_handle - email@example.com
Project Link: https://github.com/your_username/your_repository