Skip to content

Latest commit

 

History

History
130 lines (95 loc) · 4.06 KB

README.md

File metadata and controls

130 lines (95 loc) · 4.06 KB

CMPE 272 Project of Group Spartan Devs

Course Name : Enterprise Software Platforms

Project Name : Bookhouse

Application URL : https://bookhouse.space

University Name : San Jose State University

Professor's Name : Andrew Bond

Team Name: Spartan Devs

Team Members:
Bhavya Hegde
Darshini Venkatesha Murthy Nag
Sirisha Polisetty

Introduction

Bookhouse is an enterprise ecommerce platform that aims to create a seamless online book shopping experience and helps brick-and-mortar book shops to digitize their businesses. Our website allows its users to browse through a vast collection of books, add books to the cart, and place an order using payment method with shipping preferences. Our web application has two modes. One is a storefront for users to shop and track their book orders. Another one is admin management, where the bookhouse staff can maintain book stocks and facilitate shipping orders. Bookhouse web application will be developed using the Django framework with login, registration, cart, reviews, order, search, and payment processing capabilities. Bookhouse provides users the convenience of shopping for books from home. Bookhouse storefront will have features like search and pagination to provide ease of use for the users to search books on the application.

Application Features

  • Wide variety of books available for purchase
  • Various book categories
  • Book Search Functionality, either by book name or by category
  • Custom Login and SSO login Integration for signing into the application
  • Shopping cart and Checkout functionality
  • Paypal Integration for payment
  • SSL certificate installation
  • Jenkins for CI/CD pipeline

Bookhouse admin Features

  • Book administrators can manage book stocks
  • Manage book orders
  • Addition, Update and Deletion of book details such as book category, book price and book description
  • Manage Users

Additional Application Features

  • Dashboard view - Users can view details about current and previous orders and can update profile
  • Review and Rating System - Users can post rating and reviews about the book which they have purchased
  • Preview of the book content is provided for the users
  • Application is deployed on cloud to offer high scalability, security and availability

Tools and Technologies used

Frontend: HTML, CSS, Bootstrap, Javascript
Backend: Python Django framework
Other tools: Jenkins, Visual studio code, PyCharm
AWS components: EC2, Route 53, ELB, RDS postgreSQL, s3, certificate manager

Architecture Diagram

bookhouse_architecture

CI/CD Pipeline

  • Jenkins, Amazon S3, Ubuntu and crontab for CI/CD of this project.

Instructions to run project locally

Create a virtual environment

python -m venv venv

Activate the virtual environment

  • macOS:
source venv/bin/activate
  • Windows:

venv\scripts\activate

Install required dependencies

pip install -r requirements.txt

Set up environment variables

touch .env

We need to add below details in env

SECRET_KEY=
DEBUG=True
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=
EMAIL_HOST_USER=
EMAIL_HOST_PASSWORD=
EMAIL_USE_TLS=True

Run migrations

python manage.py makemigrations
python manage.py migrate

Create an admin user to access the Django Admin interface

python manage.py createsuperuser

Run the application

python manage.py runserver

Sample Demo screenshots

login

app

cart

admin

References

AWS Documentation: https://docs.aws.amazon.com/

Book Images Source: https://www.amazon.com/

Deploy django app with https, gunicorn and Nginx : https://realpython.com/django-nginx-gunicorn/