mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 16:31:08 -05:00
79 lines
2.3 KiB
Markdown
79 lines
2.3 KiB
Markdown
# 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
|
|
1. Create and activate a virtual environment:
|
|
```bash
|
|
python -m venv venv
|
|
source venv/bin/activate
|
|
```
|
|
|
|
2. Install dependencies:
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
3. Configure environment variables:
|
|
- Copy ***REMOVED***.example to ***REMOVED***
|
|
- Update the variables with your specific values
|
|
|
|
4. Set up the database:
|
|
```bash
|
|
python manage.py migrate
|
|
```
|
|
|
|
5. Create a superuser:
|
|
```bash
|
|
python manage.py createsuperuser
|
|
```
|
|
|
|
6. Run the development server:
|
|
```bash
|
|
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
|