Skip to content

Nar0kan/Ingot-Store

Repository files navigation

Ingot-Store

logo

Ingot-Store

E-commerse shop website built with Django and React


📔 Table of Contents

🌟 About the Project

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:

screenshot 1 screenshot 2 screenshot 3 screenshot 4 screenshot 5 screenshot 6

🧰 Tech Stack

Backend
  • Django
  • REST Framework
Frontend
  • React
  • Redux
  • Bootstrap
  • Pure CSS
Database
  • PostgreSQL

🎯 Features

  • 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

⚙️ Getting Started

Prerequisites

Node.js (npm) and python 3.11.0+

Installation

  • 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

Environment Variables

To run this project, you will need to add the specified in .template.env environment variables to your .env file

Run Locally

To run localy use:

  python manage.py runserver

If you get an error, consider to:

  1. create .env file and fill it up with neccessary data (use .template.env);
  2. change READ_FROM_DOT_ENV in your local variables, or in settings.py (change default to True, instead of False);
  3. Install both React and Python and connect your own database.

💎 Acknowledgements

This project was built using this guide:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published