Designed an Ecommerce API, based on Django, MySQL database, that provides various fundamental features of a modern ecommerce applications, which users can connect to client app, so as to make a fully fledged ecommerce application
- Sign up/login a user
- Creation/Updation/Deletion of unlimited products, along with their multiple images and other product parameters
- Tags, Likes feature for a particular product
- Sorting the products based on categories/collection
- Filtering of product based on cost, category
- Searching of products based on title, description and other fields
- Pagination feature
- Creation/updation/deletion of cart
- Providing various permissions based on groups/roles
- User profile endpoint
- Used celery to execute multiple long running tasks, and used redis as a message broker/queue in assisting the celery to work.
- http://127.0.0.1:8000/store/ : Various operations on the store
- http://127.0.0.1:8000/auth/users/ : Registration Endpoint
- http://127.0.0.1:8000/auth/jwt/create : Login Endpoint
- http://127.0.0.1:8000/auth/users/me/ : User Profile Endpoint
- http://127.0.0.1:8000/store/customers/me/ : Customer Profile Endpoint
- http://127.0.0.1:8000/store/carts/ : Cart Creation Endpoint
- http://127.0.0.1:8000/store/products/ : View all the products
- http://127.0.0.1:8000/store/products/<prod: id>/ : View details related to a particular product
- http://127.0.0.1:8000/store/carts/cart:id/items/ : Insert the products in a particular Cart Endpoint
- http://127.0.0.1:8000/store/carts/cart:id/items/item:id/ : Update the inserted items in the Cart
- http://127.0.0.1:8000/store/orders/ : Details of the orders by user
- Server: Django (Python)
- Database: MySQL
- Clone the project
git clone https://github.com/vibhudawar/storefront-3-final-project
- Go to the project directory
cd storefront
- Setup virtual environment
python3 -m venv [name of the virtual env]
- Activate virtual environment
source [name of the virtual env]/bin/activate
- Install dependencies
Pip install -r requirements.txt
- Setup the database parameters in the settings.py under storefront application
- Make a database in the mySQL client apps such as datagrip, and then run the commands:
python manage.py makemigrations
python manage.py migrate
- Run the server:
python manage.py runserver