-
Notifications
You must be signed in to change notification settings - Fork 0
Update project metadata and documentation #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,91 +1,125 @@ | ||||||
| # WEJAY | ||||||
| # Wejay | ||||||
|
|
||||||
| En demokratisk Spotify-jukebox där alla får bidra med låtar. Låtordningen bestäms av D'Hondt-metoden för rättvis fördelning. | ||||||
| A democratic Spotify jukebox where everyone gets to contribute songs. Track order is determined by the D'Hondt method for fair distribution. | ||||||
|
|
||||||
| ## FUNKTIONER | ||||||
| ## Features | ||||||
|
|
||||||
| - **Demokratisk kö** - Låtar fördelas rättvist mellan användare med D'Hondt-algoritmen | ||||||
| - **Spotify-integration** - Sök och lägg till låtar från Spotify | ||||||
| - **Realtidsuppdateringar** - Se vad andra lägger till i kön | ||||||
| - **Rumsbaserat** - Skapa rum och bjud in kollegor | ||||||
| - **Democratic Queue** - Songs are distributed fairly between users using the D'Hondt algorithm | ||||||
| - **Spotify Integration** - Search and add songs from Spotify's catalog | ||||||
| - **Real-time Updates** - See what others add to the queue instantly | ||||||
| - **Room-based** - Create rooms and invite colleagues or friends | ||||||
| - **Fair Play Algorithm** - Prevents any single user from dominating the playlist | ||||||
|
|
||||||
| ## TEKNISK STACK | ||||||
| ## Tech Stack | ||||||
|
|
||||||
| - **Frontend:** React, TypeScript, Vite, Tailwind CSS | ||||||
| - **UI:** Shadcn/ui komponenter med neumorfisk design | ||||||
| - **Font:** Futura PT (versaler för labels) | ||||||
| - **Backend:** Kräver Lovable Cloud eller Supabase | ||||||
| - **Frontend:** React 18, TypeScript, Vite, Tailwind CSS | ||||||
| - **UI Components:** Shadcn/ui with custom design system | ||||||
| - **Backend:** Express.js with Socket.IO for real-time features | ||||||
| - **Database:** Redis for session management and caching | ||||||
| - **Authentication:** OAuth 2.0 with Spotify | ||||||
| - **Deployment:** Docker + Kubernetes | ||||||
|
|
||||||
| ## LOKAL UTVECKLING | ||||||
| ## Local Development | ||||||
|
|
||||||
| ```bash | ||||||
| # Klona projektet | ||||||
| git clone <repo-url> | ||||||
| cd wejay | ||||||
| # Clone the repository | ||||||
| git clone https://github.com/Iteam1337/wejay-2025.git | ||||||
| cd wejay-2025 | ||||||
|
|
||||||
| # Installera dependencies | ||||||
| # Install dependencies | ||||||
| npm install | ||||||
|
|
||||||
| # Skapa .env fil | ||||||
| # Create environment file | ||||||
| cp .env.example .env | ||||||
| # Lägg till dina Spotify credentials | ||||||
| # Add your Spotify credentials to .env | ||||||
|
|
||||||
| # Starta dev server | ||||||
| # Start development server | ||||||
| npm run dev | ||||||
| ``` | ||||||
|
|
||||||
| ## MILJÖVARIABLER | ||||||
| ## Environment Variables | ||||||
|
|
||||||
| ```env | ||||||
| CLIENT_ID=din_spotify_client_id | ||||||
| CLIENT_SECRET=din_spotify_client_secret | ||||||
| # Spotify OAuth | ||||||
| VITE_SPOTIFY_CLIENT_ID=your_spotify_client_id | ||||||
| CLIENT_SECRET=your_spotify_client_secret | ||||||
|
|
||||||
| # Optional: Redis configuration | ||||||
| REDIS_HOST=localhost | ||||||
| REDIS_PORT=6379 | ||||||
|
|
||||||
| # Optional: Server configuration | ||||||
| PORT=8080 | ||||||
| NODE_ENV=development | ||||||
| ``` | ||||||
|
|
||||||
| Skapa en app på [Spotify Developer Dashboard](https://developer.spotify.com/dashboard) för att få credentials. | ||||||
| Create an app on the [Spotify Developer Dashboard](https://developer.spotify.com/dashboard) to get your credentials. | ||||||
|
|
||||||
| ## DOCKER | ||||||
| ## Scripts | ||||||
|
|
||||||
| ```bash | ||||||
| # Bygg image | ||||||
| npm run dev # Start development server | ||||||
| npm run build # Build for production | ||||||
| npm run build:dev # Build in development mode | ||||||
| npm run lint # Run ESLint | ||||||
| npm run preview # Preview production build | ||||||
| npm run start # Start production server | ||||||
| ``` | ||||||
|
|
||||||
| ## Docker | ||||||
|
|
||||||
| ```bash | ||||||
| # Build the image | ||||||
| docker build -t wejay . | ||||||
|
|
||||||
| # Kör container | ||||||
| # Run the container | ||||||
| docker run -p 8080:8080 \ | ||||||
| -e CLIENT_ID=xxx \ | ||||||
| -e VITE_SPOTIFY_CLIENT_ID=xxx \ | ||||||
| -e CLIENT_SECRET=xxx \ | ||||||
| wejay | ||||||
| ``` | ||||||
|
|
||||||
| ## KUBERNETES | ||||||
| ## Kubernetes | ||||||
|
|
||||||
| Se `/k8s` mappen för deployment-konfiguration: | ||||||
| See the `/k8s` directory for deployment configurations: | ||||||
| - `deployment.yaml` - Kubernetes deployment | ||||||
| - `service.yaml` - ClusterIP service | ||||||
| - `ingress.yaml` - Ingress med TLS via cert-manager | ||||||
| - `external-dns.yaml` - Automatisk DNS för wejay.org | ||||||
| - `ingress.yaml` - Ingress with TLS via cert-manager | ||||||
|
||||||
| - `ingress.yaml` - Ingress with TLS via cert-manager | |
| - `ingress.yaml` - Ingress with TLS via cert-manager (also includes external-dns configuration via annotation) |
| Original file line number | Diff line number | Diff line change | ||
|---|---|---|---|---|
| @@ -1,7 +1,8 @@ | ||||
| { | ||||
| "name": "vite_react_shadcn_ts", | ||||
| "name": "wejay", | ||||
| "private": true, | ||||
| "version": "0.0.0", | ||||
| "version": "1.0.0", | ||||
| "description": "A democratic Spotify jukebox where everyone gets to contribute songs. Track order is determined by the D'Hondt method for fair distribution.", | ||||
| "type": "module", | ||||
| "scripts": { | ||||
| "dev": "vite", | ||||
|
|
@@ -85,7 +86,7 @@ | |||
| "eslint-plugin-react-hooks": "^5.2.0", | ||||
| "eslint-plugin-react-refresh": "^0.4.20", | ||||
| "globals": "^15.15.0", | ||||
| "lovable-tagger": "^1.1.11", | ||||
|
|
||||
|
||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The environment variables documentation is missing
VITE_SPOTIFY_REDIRECT_URI, which is present in.env.exampleand appears to be a required configuration for Spotify OAuth integration. This variable should be documented here with appropriate examples for different environments (development, production).