Laravel Logo

# ThrillWiki - Laravel/Livewire Implementation This is the Laravel/Livewire implementation of ThrillWiki, maintaining feature parity with the original Django project. ## Prerequisites - PHP 8.1 or higher - PostgreSQL - Node.js and npm - Composer ## Setup Instructions ### 1. Environment Configuration ```bash # Copy the example environment file cp .env.example .env # Generate application key php artisan key:generate ``` Configure your `.env` file with the following essential settings: ```env DB_CONNECTION=pgsql DB_HOST=127.0.0.1 DB_PORT=5432 DB_DATABASE=thrillwiki DB_USERNAME=your_username DB_PASSWORD=your_password ``` ### 2. Database Setup 1. Create PostgreSQL database: ```sql CREATE DATABASE thrillwiki; ``` 2. Run migrations and seed the database: ```bash php artisan migrate:fresh --seed ``` ### 3. Install Dependencies ```bash # Install PHP dependencies composer install # Install Node.js dependencies npm install ``` ### 4. Start Development Servers Run these commands in separate terminal windows: ```bash # Start Laravel development server php artisan serve # Start Vite development server for asset compilation npm run dev ``` For production: ```bash npm run build ``` ### 5. Clear Cache (If Needed) ```bash php artisan cache:clear && php artisan config:clear && php artisan route:clear && php artisan view:clear ``` ## Troubleshooting 1. **Assets Not Loading** - Ensure Vite is running (`npm run dev`) - For production, make sure assets are built (`npm run build`) 2. **Database Connection Issues** - Verify PostgreSQL is running - Check credentials in `.env` file - Ensure database exists and is accessible 3. **Migration Errors** - Check migration order in `database/migrations` - Ensure database is empty when running `migrate:fresh` ## Development Guidelines This implementation maintains strict feature parity with the original Django project. Key requirements: - Feature-to-Feature matching with Django implementation - Identical API responses and data structures - Consistent UI/UX with original - Test coverage matching Django functionality For detailed development guidelines, refer to the project documentation.