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
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.
- 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
- 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
- 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
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
- Jenkins, Amazon S3, Ubuntu and crontab for CI/CD of this project.
python -m venv venv
- macOS:
source venv/bin/activate
- Windows:
venv\scripts\activate
pip install -r requirements.txt
touch .env
SECRET_KEY=
DEBUG=True
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=
EMAIL_HOST_USER=
EMAIL_HOST_PASSWORD=
EMAIL_USE_TLS=True
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
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/