Shopwise is a cutting-edge, full-stack e-commerce application built using Django for the backend and React with TailwindCSS for the frontend. It features secure authentication, product management, order processing, and a modern, responsive UI, designed to provide an exceptional user experience for both customers and administrators.
- Dynamic Frontend: Built with React and TailwindCSS, ensuring a fast, responsive, and modern user interface.
- Secure Authentication: JWT-based authentication and secure login for both users and admins.
- Admin Dashboard: Easily manage products, categories, inventory, and orders.
- Order Management: Customers can track and manage their orders with ease.
- Payment Integration: Secure integration with modern payment gateways for seamless transactions.
- Fully Scalable: Built with Django and optimized for scalability and performance.
- Mobile-Friendly: A responsive design for smooth experiences across all devices.
- Frontend: React, TailwindCSS
- Backend: Django, Django REST Framework
- Authentication: JWT (JSON Web Tokens)
- Database: PostgreSQL (or another relational DB)
- Containerization: Docker
Follow these steps to get the application running on your local machine for development and testing purposes.
Make sure you have the following tools installed:
- Docker (for containerization)
- Docker Compose (to run multi-container applications)
- Node.js (for the frontend build tools)
- Python 3.x (for backend development)
- PostgreSQL (for the database)
To run the Shopwise application in your local development environment, we recommend using Docker for ease of setup and isolation of dependencies.
git clone https://github.com/your-username/shopwise.git
cd shopwise
This application uses Docker and Docker Compose to containerize both the frontend and backend services.
-
Build and Start Docker Containers:
From the root of the project, run the following command to build and start the services defined in
docker-compose.yml
:docker-compose up --build
This will:
- Build the Docker images for the frontend and backend.
- Set up the PostgreSQL database container.
- Start the containers in the background.
-
Access the Application:
- The frontend will be accessible at http://localhost:3000.
- The backend API will be accessible at http://localhost:8000.
If you prefer to run the containers in detached mode (in the background), use:
docker-compose up -d
Once the containers are running, you'll need to run Django migrations to set up the database schema.
docker-compose exec backend python manage.py migrate
This will apply any necessary database migrations.
You can run tests for both the frontend and backend services.
To run backend tests using Django's test suite, execute the following command:
docker-compose exec backend python manage.py test
To run the React app's tests, execute:
docker-compose exec frontend npm test
This will run all the tests for the React components and display the results in the terminal.
We welcome contributions! If you have any suggestions or improvements, feel free to fork this repository and create a pull request.
To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Open a pull request on GitHub.
This project is licensed under the MIT License – see the LICENSE file for details.