A Django-based web application for sharing and discovering book reviews. Users can browse books, read reviews, and share their own reading experiences with the community.
- User Authentication: Email-based authentication system with secure password management
- Book Management: Browse books organized by categories and authors
- Reviews: Read and write detailed reviews for books
- User Profiles: Manage personal profile information and avatar
- Category Browsing: Explore books by categories
- Responsive Design: Mobile-friendly interface
- Backend: Django 6.0+
- Database: SQLite
- Python: 3.13+
- Frontend: HTML5, CSS, JavaScript
- Package Manager: uv
devread/
├── devread_core/ # Main Django project settings
│ ├── templates/ # HTML templates
│ ├── static/ # CSS, JavaScript, images
│ └── settings.py # Project configuration
├── accounts/ # User authentication & profiles
├── books/ # Books, authors, categories
├── reviews/ # Book reviews functionality
├── home/ # Homepage
├── media/ # User-uploaded files (avatars, etc)
├── manage.py # Django management script
├── pyproject.toml # Project dependencies
└── db.sqlite3 # SQLite database
-
Clone the repository:
git clone https://github.com/Chanceedson/devread.git cd devread -
Set up Python environment:
uv venv source .venv/Scripts/activate # Windows # or source .venv/bin/activate # macOS/Linux
-
Install dependencies:
uv sync
-
Apply database migrations:
python manage.py migrate
-
Create a superuser (for admin access):
python manage.py createsuperuser
Start the development server:
python manage.py runserverThe application will be available at http://localhost:8000/
Run all tests:
python manage.py testRun tests for a specific app:
python manage.py test accounts
python manage.py test books
python manage.py test reviews
python manage.py test homeMake migrations:
python manage.py makemigrationsApply migrations:
python manage.py migrateUser authentication and profile management
- Custom User model (extends Django's AbstractUser)
- Email-based authentication
- User profiles with avatars
Book catalog management
- Book model with slug field for URLs
- Author model
- Category model
- Search and filtering functionality
Book review functionality
- Review creation and management
- Review ratings and comments
- User review history
Homepage and main navigation
- Landing page
- Featured books section
- Navigation menu
- Templates:
devread_core/templates/ - Static Files:
devread_core/static/ - Media Uploads:
media/directory - Settings:
devread_core/settings.py
- Python: Use type hints in new code
- Code Style: Follow Django conventions and PEP 8
- Indentation: 4 spaces
- Models: Use
slugfields for URLs,auto_now_add=Truefor creation timestamps - Error Handling: Use Django's ValidationError for model validation
- Imports: Django imports first, then standard library, then app imports
Access the Django admin panel at:
http://localhost:8000/admin/
Use the superuser credentials you created during installation.
MIT License