A web application for managing books, authors, and reviews built with Django.
- Browse books and authors
- Read and write reviews
- Like/dislike reviews
- Add books to favorites
- Mark books as "next reading"
- User authentication and accounts
- Admin panel for database management
- Python 3.13.3
- pip
-
Clone the repository
git clone https://github.com/YOUR_USERNAME/bookvoyager.git cd bookvoyager -
Create virtual environment
python -m venv venv venv\Scripts\activate # Windows # or source venv/bin/activate # Mac/Linux
-
Install dependencies
pip install -r requirements.txt
-
Set up database
python manage.py migrate
-
Create superuser (admin account)
python manage.py createsuperuser
-
Load sample data (if available)
python manage.py loaddata data.json
-
Run the development server
python manage.py runserver
-
Access the website
- Main site: http://127.0.0.1:8000/
- Admin panel: http://127.0.0.1:8000/admin/
bookvoyager/
├── bookvoyager/ # Main project settings
│ ├── settings.py # Django settings
│ ├── urls.py # Main URL configuration
│ └── wsgi.py # WSGI configuration
├── library/ # Main app
│ ├── models.py # Database models
│ ├── views.py # View functions
│ ├── urls.py # App URL configuration
│ ├── templates/ # HTML templates
│ └── static/ # CSS, images, etc.
├── manage.py # Django management script
├── requirements.txt # Python dependencies
└── db.sqlite3 # SQLite database (not in repo)
- Django 5.2.1
- Python 3.13.3
- SQLite (database)
- Bootstrap 5 (via crispy-forms)
- WhiteNoise (static files)
To access the admin panel:
- Go to http://127.0.0.1:8000/admin/
- Login with your superuser credentials
This project is configured for deployment on:
- Railway
- PythonAnywhere
- Heroku
- Any platform supporting Django
See DEPLOYMENT_GUIDE.md in the parent directory for detailed deployment instructions.
This project is for educational purposes.