mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 17:51:08 -05:00
2.3 KiB
2.3 KiB
ThrillWiki Initial Setup
Project Overview
ThrillWiki is a database website focused on rides and attractions in the amusement and theme park industries. The site features detailed statistics, photos, and user reviews for parks and rides worldwide.
Technical Stack
- Backend: Django 5.1.2
- Frontend: React + Material UI + Alpine.js + HTMX
- Database: PostgreSQL
- Authentication: django-allauth (with Discord and Google OAuth support)
- Email: ForwardEmail.net SMTP
Key Features
- Full authentication system with social login support
- Responsive design for desktop and mobile
- Light/dark theme support
- Rich media support for ride and park photos
- User review system with average ratings
- Inline editing for authenticated users
- Page history tracking
- Advanced search and filtering capabilities
Project Structure
thrillwiki/
├── accounts/ # User authentication and profiles
├── api/ # REST API endpoints
├── docs/ # Project documentation
├── frontend/ # React frontend application
├── media/ # User-uploaded content
├── parks/ # Park-related models and views
├── reviews/ # User reviews functionality
├── rides/ # Ride-related models and views
├── static/ # Static assets
├── templates/ # Django templates
└── thrillwiki/ # Project settings and core configuration
Setup Instructions
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate -
Install dependencies:
pip install -r requirements.txt -
Configure environment variables:
- Copy REMOVED.example to REMOVED
- Update the variables with your specific values
-
Set up the database:
python manage.py migrate -
Create a superuser:
python manage.py createsuperuser -
Run the development server:
python manage.py runserver
Next Steps
- Implement user models and authentication views
- Create park and ride models
- Set up review system
- Implement frontend components
- Configure social authentication
- Set up email verification
- Implement search and filtering
- Add media handling