# ThrillWiki Quick Start Guide ## Prerequisites - Python 3.8+ - PostgreSQL - Node.js (for Tailwind CSS) ## Setup Instructions 1. **Clone the Repository** ```bash git clone cd thrillwiki ``` 2. **Create Virtual Environment** ```bash python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate ``` 3. **Install Dependencies** ```bash pip install -r requirements.txt ``` 4. **Database Setup** ```bash # Update database settings in thrillwiki/settings.py python manage.py migrate ``` 5. **Create Superuser** ```bash python manage.py createsuperuser ``` 6. **Install Frontend Dependencies** ```bash # Install Tailwind CSS npm install ``` 7. **Environment Configuration** - Copy example environment file - Update necessary settings - Configure social auth providers 8. **Run Development Server** ```bash python manage.py runserver ``` ## Key URLs - Admin Interface: `/admin/` - Home Page: `/` - Parks List: `/parks/` - Rides List: `/rides/` ## Development Guidelines 1. **Model Changes** ```bash python manage.py makemigrations python manage.py migrate ``` 2. **Running Tests** ```bash python manage.py test ``` 3. **Update Trending Content** ```bash python manage.py update_trending ``` 4. **Update Park Statistics** ```bash python manage.py update_park_counts ``` ## Common Tasks ### Adding a New Park 1. Access admin interface 2. Navigate to Parks section 3. Click "Add Park" 4. Fill required information 5. Save ### Adding a New Ride 1. Access admin interface 2. Navigate to Rides section 3. Click "Add Ride" 4. Fill required information 5. Add roller coaster stats if applicable 6. Save ### Managing Photos 1. Photos can be added to parks, rides, or companies 2. Use the photo upload form on respective detail pages 3. Set primary photo as needed ### Moderating Reviews 1. Access admin interface 2. Navigate to Reviews section 3. Review flagged content 4. Take appropriate moderation action ## Troubleshooting ### Common Issues 1. **Database Connection** - Verify PostgreSQL is running - Check database credentials - Ensure database exists 2. **Media Upload Issues** - Check file permissions - Verify media storage configuration - Ensure proper file types 3. **Social Auth** - Verify provider credentials - Check callback URLs - Review auth settings ### Getting Help - Check existing documentation in `/docs` - Review error logs - Contact development team ## Best Practices 1. **Code Style** - Follow PEP 8 - Use type hints - Document functions and classes 2. **Git Workflow** - Create feature branches - Write descriptive commits - Keep changes focused 3. **Testing** - Write unit tests - Test all new features - Verify existing functionality