/PRETTYtinyMART

PRETTYtinyMART

Primary LanguagePython

eShop

A fully functional single page online shopping Web App where users can explore, view and order products.

Project Objectives

  • Created a REST API with Django Rest Framework
  • Integrated Django and React
  • Implemented a full featured shopping cart
  • Created a product review and rating system
  • Integrated the PayPal API
  • Used JWT authentication for users sign in
  • Managed global state using Redux - actions and reducers
  • Used AWS and RDS (PostgreSQL) to store the data in the cloud
  • Used AWS and S3 to store the images of the products
  • Implemented from scratch a fully funtional single page online shopping web app

Screenshots

Home Page

Home Page

Product Page

Product Page

Shopping Cart Page

Shopping Cart Page

Order Page

Order Page

User Profile Page

User Profile Page

Admin Panel Pages - Users/Orders/Products

Admin Page

Built With

  • Python, Django, Django Rest Framework
  • JavaScript, ReactJs
  • AWS, PostgreSQL
  • Redux
  • HTML, CSS

Intructions to run locally

Make sure Python 3 and Node.js are installed

  • Clone the resository
  • Create and activate virtual environment

conda create -n eshop python=3.8.5
conda activate eshop

  • Install all the required dependencies

pip install -r requirements.txt

  • Apply migrations

python manage.py makemigrations
python manage.py migrate

  • Run the server

python manage.py runserver

Available Commands

In react-frontend directory, you can run:

npm start" : "react-scripts start",

The app is built using create-react-app so this command Runs the app in Development mode. Open http://localhost:3000 to view it in the browser. You also need to run the server file as well to completely run the app. The page will reload if you make edits. You will also see any lint errors in the console.

"npm run build": "react-scripts build",

Builds the app for production to the build folder. It correctly bundles React in production mode and optimizes the build for the best performance. The build is minified and the filenames include the hashes. Your app will be ready to deploy!

🤝 Support

Contributions, issues, and feature requests are welcome!

Give a ⭐️ if you like this project!