Skip to content

Repository files navigation

Biblioverse

Biblioverse is a modern, community-driven web application for discovering, reading, and sharing books. Built with Django and modern web technologies, it allows users to post their favorite reads, browse by genre, rate books, and download them in various formats like PDF, ePUB, and DOCX.

Demo

Biblioverse Animated Demo

Home Page Book Detail Page

Features

  • User Accounts: Custom profile system with avatars, sign-up, login, and personalized user dashboard.
  • Book Discovery: Browse featured books, explore by genres, and search seamlessly for authors and titles.
  • File Distribution: Integrated with Firebase Cloud Storage for secure and scalable hosting of book files (PDF, ePUB, DOCX) and cover images.
  • Community Ratings: An interactive, AJAX-powered 5-star rating system.
  • Modern UI: Built with Vanilla CSS, responsive design, glassmorphism aesthetics, and micro-animations for a premium feel.
  • Dynamic Routing: Beautiful vanity URLs (/username/) for user profiles.

Tech Stack

  • Backend: Django 5.x, Python 3
  • Database: PostgreSQL (Production/Local), SQLite (Testing)
  • Storage: Firebase Cloud Storage (Admin SDK)
  • Frontend: HTML5, Vanilla CSS3 (Custom Design System), Vanilla JS, Lucide Icons

Setup Instructions

1. Prerequisites

  • Python 3.10+
  • PostgreSQL
  • Firebase Account (for Cloud Storage)

2. Clone and Install

git clone <your-repo-url>
cd django-book-store
python -m venv venv
source venv/bin/activate  # On Windows use `venv\Scripts\activate`
pip install -r requirements.txt

3. Environment Variables

Create a .env file in the root directory based on the following template:

SECRET_KEY=your_django_secret_key
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1

DB_NAME=bookstore_db
DB_USER=bookstore_user
DB_PASSWORD=your_db_password
DB_HOST=localhost
DB_PORT=5432

# Firebase Web SDK config
FIREBASE_API_KEY="your_api_key"
FIREBASE_AUTH_DOMAIN="your_project_id.firebaseapp.com"
FIREBASE_PROJECT_ID="your_project_id"
FIREBASE_MESSAGING_SENDER_ID="your_sender_id"
FIREBASE_APP_ID="your_app_id"
FIREBASE_STORAGE_BUCKET="your_project_id.appspot.com"

4. Firebase Admin SDK

  1. Go to the Firebase Console -> Project Settings -> Service Accounts.
  2. Generate a new private key.
  3. Save the downloaded JSON file as secrets/firebase-adminsdk.json in the root of the project.

5. Database Setup

python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser

6. Run the Application

python manage.py runserver

Visit http://127.0.0.1:8000 to start exploring Biblioverse!

License

MIT License

About

A Book Store web app made using django and firebase backend.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages