Trouve des gens qui ressentent la musique comme toi
Translation pending
SocialJavaScript · TypeScriptGitHub @aminovic89OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Loading the full README. The saved excerpt is shown below.
Prérequis • macOS avec Docker Desktop installé • Node.js 20+ (brew install node) • VS Code (brew install --cask visual-studio-code) • Expo CLI (npm install -g expo-cli)Read the full README ↗
brew install node)brew install --cask visual-studio-code)npm install -g expo-cli)# Cloner le repo
git clone https://github.com/ton-org/music-match.git
cd music-match
# Installer les dépendances
npm install
# Copier les variables d'environnement
cp .env.example .env
# → Remplir les valeurs dans .env (Spotify keys, etc.)
# Démarrer PostgreSQL + Redis + Adminer
npm run docker:up
# Vérifier que tout tourne
docker ps
# Initialiser la base de données (première fois)
npm run db:migrate --workspace=apps/api
# Lancer l'API en mode dev (hot reload)
npm run dev:api
# Dans un autre terminal — lancer le web
npm run dev:web
# Dans un autre terminal — lancer le mobile
npm run dev:mobile
| Service | URL | Credentials |
|---|---|---|
| API | http://localhost:3000 | — |
| Web | http://localhost:3001 | — |
| Adminer | http://localhost:8080 | postgres / postgres |
| PostgreSQL | localhost:5432 | postgres / postgres |
| Redis | localhost:6379 | — |
# Ouvrir le workspace multi-dossiers
code music-match.code-workspace
# Installer les extensions recommandées
# VS Code affichera une notification → cliquer "Install All"
music-match/
├── apps/
│ ├── api/ → Backend Node.js + Express
│ │ ├── src/
│ │ │ ├── routes/ (auth, users, music, matching, chat)
│ │ │ ├── modules/ (auth/, users/, music/, matching/, chat/)
│ │ │ ├── database/ (init.sql, migrate.js)
│ │ │ ├── socket/ (chat.js)
│ │ │ └── index.js
│ │ ├── Dockerfile
│ │ └── Dockerfile.dev
│ ├── mobile/ → React Native + Expo
│ └── web/ → Next.js
├── packages/
│ ├── shared/ → Code partagé (utils, constantes)
│ └── types/ → Types TypeScript partagés
├── .github/
│ └── workflows/
│ └── ci.yml → Lint, tests et migrations Neon (Vercel/Render déploient en direct via GitHub)
├── docker-compose.yml
├── .env.example
└── music-match.code-workspace
| Service | Rôle | Limite gratuite |
|---|---|---|
| Vercel | Web (Next.js) | Généreux free tier, déploiement auto sur push |
| Render | API (Express + socket.io) | Free web service, veille après 15 min d'inactivité (~50s de cold start au réveil) |
| Neon | PostgreSQL | Serverless, gratuit, pas d'expiration |
| Vercel Blob | Stockage (photos de profil) | 1 GB gratuit |
Vercel et Render sont connectés directement au repo GitHub et déploient automatiquement sur chaque push vers main (pas d'étape manuelle ni de workflow GitHub Actions dédié au déploiement). Le workflow .github/workflows/ci.yml se charge du lint, des tests, et de l'application des migrations sur Neon.
apps/web → variable d'env NEXT_PUBLIC_API_URL = URL Render de l'API. Créer un Blob Store dans l'onglet Storage pour obtenir BLOB_READ_WRITE_TOKEN.apps/api/Dockerfile → Health Check Path = /health → configurer les variables d'env (voir .env.prod.example).DATABASE_URL (Render) et le secret GitHub DATABASE_URL (migrations CI).# Tests
npm test # Tous les tests
npm run test --workspace=apps/api # Tests API uniquement
# Docker
npm run docker:up # Démarrer les services
npm run docker:down # Arrêter les services
npm run docker:logs # Logs de l'API
# Lint
npm run lint # Lint tout le monorepo
# Base de données
npm run db:migrate --workspace=apps/api # Appliquer les migrations
npm run db:seed --workspace=apps/api # Insérer des données de test
Pipeline CI/CD opérationnel — lun. 22 juin 2026 22:48:12 CEST