A simple yet scalable e-commerce web application built with Django, HTML, CSS, and JavaScript.
Currently being modernized into a full-stack e-commerce application with:
- Django serving as the backend API using Django REST Framework (DRF).
- React Native for a sleek, responsive, and mobile-first frontend experience.
- User authentication and management
- Product catalog with categories
- Shopping cart and checkout functionality
- PostgreSQL database integration
- RESTful APIs (in progress) for seamless integration with modern frontend frameworks
- Mobile-friendly UI (planned with React Native)
Follow these steps to set up and run the project locally:
Ensure you have the following installed:
- Python 3.8+
- PostgreSQL
- Node.js and npm (for future React Native integration)
git clone <repository_url>
cd <repository_name>
-
Install Python virtual environment tools:
sudo apt-get install python3-venv python-is-python3
-
Create a virtual environment:
python -m venv venv source venv/bin/activate
-
Install project dependencies:
pip install --upgrade -r requirements.txt
-
Configure your PostgreSQL database:
- Create a database for the project.
- Update the
DATABASES
setting insettings.py
with your database credentials.
-
Run database migrations:
python manage.py makemigrations python manage.py migrate
-
Start the development server:
python manage.py runserver
Your backend is now up and running on http://127.0.0.1:8000
.
The frontend is being reimagined with React Native for a modern, mobile-first experience. Stay tuned for updates!
- Basic e-commerce functionality with Django templates
- PostgreSQL integration
- Transition to RESTful APIs with Django REST Framework
- Develop a modern React Native frontend
- Implement push notifications for order updates
- Add payment integration (e.g., Mpesa, Stripe, or PayPal)
- Incorporate AI-driven product recommendations (using FAISS + LLM)
Contributions, issues, and suggestions are welcome! Here's how you can help:
- Fork this repository.
- Create a feature branch (
git checkout -b feature-name
). - Commit your changes (
git commit -m "Add feature-name"
). - Push to the branch (
git push origin feature-name
). - Open a pull request.
If you have questions, need help, or want to collaborate, feel free to reach out:
- Open an issue in this repository.
- Email me at [[email protected]].
Let me know if there’s anything else you'd like to include or change! 🚀