Logo Lanfrica

Sama-Mokom/cameroon-music-platform

Type de record:

softwareproject
Créateur:
Sam
HĂ´te:
# 🎵 Cameroon Music Industry Platform A comprehensive platform for the Cameroonian music industry, connecting artists, fans, and promoters. ## 📋 Project Overview This platform provides: - Music upload & storage with fingerprinting - Artist identity verification - Booking system with escrow payments - Wallet & tipping system - Audio player with waveform visualization - Admin panel for platform management ## 🏗️ Architecture ### Frontend - **Framework**: Next.js 14 (App Router) - **Language**: TypeScript - **Styling**: TailwindCSS + Vanilla CSS - **State Management**: Zustand (with persistence) - **API Client**: Axios (with auto token refresh) - **Validation**: Zod - **Icons**: Lucide React ### Backend - **Framework**: NestJS - **Database**: MySQL (Prisma ORM) - **Cache/Session**: Redis (ioredis) - **Authentication**: JWT (Passport) with refresh tokens - **Validation**: Zod schemas - **Security**: bcrypt password hashing, CORS protection ## 🚀 Getting Started ### Prerequisites - Node.js 18+ - XAMPP (with MySQL running on port 3306) - Redis (optional but recommended for production) - npm or yarn ### Installation #### 1. Clone the repository ```bash git clone cd cameroon-music-platform ``` #### 2. Setup Frontend ```bash cd frontend cp .env.example .env npm install npm run dev ``` Frontend will run on: localhost #### 3. Setup Backend **Prerequisites**: Ensure XAMPP is installed and MySQL is running ```bash cd backend cp .env.example .env # Update .env file with your MySQL credentials if needed # Default XAMPP: DATABASE_URL="mysql://root@localhost:3306/cameroon_music_db" # Install dependencies npm install # Generate Prisma Client npm run prisma:generate # Run migrations (this will create the database and tables) npm run prisma:migrate # Start development server npm run start:dev ``` Backend will run on: localhost **Note**: The database `cameroon_music_db` will be created automatically when you run the migration. Make sure XAMPP MyS …