https://github.com/hegdebhavya/bookhouse-e-commerce-application
Bookhouse is a enterprise ecommerce website hosted on AWS cloud infrastructure to provide optimal performance, Paypal sandbox used as payment gateway, SSO for authentication , TLS certificate for secure https communication
https://github.com/hegdebhavya/bookhouse-e-commerce-application
bootstrap django-framework html javascript python
Last synced: about 2 months ago
JSON representation
Bookhouse is a enterprise ecommerce website hosted on AWS cloud infrastructure to provide optimal performance, Paypal sandbox used as payment gateway, SSO for authentication , TLS certificate for secure https communication
- Host: GitHub
- URL: https://github.com/hegdebhavya/bookhouse-e-commerce-application
- Owner: hegdebhavya
- Created: 2022-08-18T23:38:20.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-12-01T00:36:14.000Z (over 3 years ago)
- Last Synced: 2025-06-24T07:38:04.416Z (about 1 year ago)
- Topics: bootstrap, django-framework, html, javascript, python
- Language: JavaScript
- Homepage:
- Size: 29.4 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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](https://www.sjsu.edu/)
Professor's Name : Andrew Bond
Team Name: Spartan Devs
Team Members:
[Bhavya Hegde](www.linkedin.com/in/bhavya-hegde-145b9b123)
[Darshini Venkatesha Murthy Nag](https://www.linkedin.com/in/darshini-venkatesha-murthy-nag-90052756/)
[Sirisha Polisetty](https://www.linkedin.com/in/sirishapolisetty/)
## 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

#### 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




## 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/