Built while progressing through course. Using React with Redux for Frontend and Django for API calls. Contain integration with PayPal. Site has different rights and availabilities for unregistered/registered and admin users. Cart items are saved in LocalStorage, so after page reload they won't disapear. Connected to PostgreSQL Cloud Database on Railway (Demo). You can connect it to your own local/cloud database.
Some of the knowledge gains: CRUD, Auth, REST, API, Models fields, Search and Pagination functionality, Gunicorn, Static & Media files, heroku deploy, railway postgres deploy, React basics, LocalStorage, State Flow, React-Bootstrap, PayPal API.
Screenshots:
Backend
- Django
- REST Framework
Frontend
- React
- Redux
- Bootstrap
- Pure CSS
Database
- PostgreSQL
- Shopping cart (saved in local storage)
- Product reviews
- Search, pagination
- User profiles (orders, settings)
- Admin page (products, orders)
- Checkout process (shipping, payment method, etc)
- PayPal / credit card integration
Node.js (npm) and python 3.11.0+
- 1 - Clone the project
git clone https://github.com/Nar0kan/Ingot-Store
- 2 - Install React modules
cd Ingot-Store/frontend
npm install
npm run build
cd ..
- 3 - Create venv and activate it
python -m venv venv
venv\Scripts\activate
- 4 - Install Python modules
pip install -r requirements.txt
To run this project, you will need to add the specified in .template.env environment variables to your .env file
To run localy use:
python manage.py runserver
If you get an error, consider to:
- create .env file and fill it up with neccessary data (use .template.env);
- change READ_FROM_DOT_ENV in your local variables, or in settings.py (change default to True, instead of False);
- Install both React and Python and connect your own database.
This project was built using this guide: