initial: initial repo set up (README, LICENSE, CONTRIBUTORS, etc...)
This commit is contained in:
parent
d6a9eef4d6
commit
6e2e16fbb5
12 changed files with 644 additions and 18 deletions
28
.editorconfig
Normal file
28
.editorconfig
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
# ============================================================
|
||||||
|
# Veza/Talas — EditorConfig
|
||||||
|
# Standardisation des éditeurs pour un projet multi-langage
|
||||||
|
# ============================================================
|
||||||
|
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[*.{js,ts,jsx,tsx}]
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.go]
|
||||||
|
indent_size = 4
|
||||||
|
indent_style = tab
|
||||||
|
|
||||||
|
[*.rs]
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
[Makefile]
|
||||||
|
indent_style = tab
|
||||||
|
|
||||||
19
.gitattributes
vendored
Normal file
19
.gitattributes
vendored
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
# ============================================================
|
||||||
|
# Veza/Talas — Git Attributes
|
||||||
|
# ============================================================
|
||||||
|
|
||||||
|
# Normalisation des fins de ligne
|
||||||
|
* text=auto eol=lf
|
||||||
|
|
||||||
|
# Spécialisation par types (aide Linguist sur GitHub)
|
||||||
|
*.go linguist-language=Go
|
||||||
|
*.rs linguist-language=Rust
|
||||||
|
*.ts linguist-language=TypeScript
|
||||||
|
*.tsx linguist-language=TypeScript
|
||||||
|
*.js linguist-language=JavaScript
|
||||||
|
|
||||||
|
# Si tu utilises Git LFS (optionnel)
|
||||||
|
# *.mp4 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
# *.wav filter=lfs diff=lfs merge=lfs -text
|
||||||
|
# *.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
|
||||||
49
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
49
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
---
|
||||||
|
name: "🐞 Bug report"
|
||||||
|
about: Décrire un bug pour le corriger proprement
|
||||||
|
title: "[BUG] "
|
||||||
|
labels: bug
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🐞 Description du bug
|
||||||
|
|
||||||
|
Décrire clairement le problème.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔁 Étapes pour reproduire
|
||||||
|
|
||||||
|
1. …
|
||||||
|
2. …
|
||||||
|
3. …
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ Comportement attendu
|
||||||
|
|
||||||
|
Ce qui aurait dû se passer.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💻 Contexte
|
||||||
|
|
||||||
|
- Service impacté : (backend-api / chat-server / stream-server / web-frontend / infra)
|
||||||
|
- Branch : (main / develop / autre)
|
||||||
|
- Environnement : (local / dev / staging / prod)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 Impact sur ORIGIN
|
||||||
|
|
||||||
|
- [ ] Aucun
|
||||||
|
- [ ] Contradiction avec ORIGIN (préciser le fichier / la section)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧪 Logs / captures (optionnel)
|
||||||
|
|
||||||
|
Coller ici :
|
||||||
|
- extraits de logs,
|
||||||
|
- captures d’écran,
|
||||||
|
- requêtes HTTP, etc.
|
||||||
|
|
||||||
48
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
48
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
---
|
||||||
|
name: "🚀 Feature request"
|
||||||
|
about: Proposer une nouvelle fonctionnalité ou une amélioration
|
||||||
|
title: "[FEAT] "
|
||||||
|
labels: enhancement
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 Description
|
||||||
|
|
||||||
|
Décrire la feature souhaitée, le problème auquel elle répond, ou la valeur ajoutée.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧩 Contexte
|
||||||
|
|
||||||
|
- Qui en a besoin ?
|
||||||
|
- Dans quel flux de l’application ?
|
||||||
|
- Lien avec une Phase / Milestone (Phase 0, Phase 1, etc.) ?
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 Alignement ORIGIN
|
||||||
|
|
||||||
|
- [ ] Feature déjà définie dans ORIGIN (référence du doc + section)
|
||||||
|
- [ ] Nouvelle feature (nécessite mise à jour de ORIGIN)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🛠️ Approche technique envisagée (si tu en as une)
|
||||||
|
|
||||||
|
- Services impactés
|
||||||
|
- Nouvelles routes API ?
|
||||||
|
- Changements DB ?
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ Critères d’acceptation
|
||||||
|
|
||||||
|
- [ ] …
|
||||||
|
- [ ] …
|
||||||
|
- [ ] …
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📎 Notes supplémentaires
|
||||||
|
|
||||||
|
Tout ce qui peut aider à l’implémentation.
|
||||||
|
|
||||||
64
.github/pull_request_template.md
vendored
Normal file
64
.github/pull_request_template.md
vendored
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
# 🧩 Résumé
|
||||||
|
|
||||||
|
- **Type de changement** : (feat / fix / refactor / chore / docs)
|
||||||
|
- **Scope** : (backend-api / chat-server / stream-server / web-frontend / infra / docs)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 Contexte
|
||||||
|
|
||||||
|
Expliquer en quelques lignes :
|
||||||
|
- pourquoi ce changement,
|
||||||
|
- à quel besoin il répond,
|
||||||
|
- lien éventuel avec un document ORIGIN ou une tâche (Phase, Milestone).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔍 Détails techniques
|
||||||
|
|
||||||
|
- Points clés d’implémentation
|
||||||
|
- Structures / modules touchés
|
||||||
|
- Changement de contrats API ? (si oui, détailler)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 Impact sur ORIGIN
|
||||||
|
|
||||||
|
- [ ] Aucun impact
|
||||||
|
- [ ] Mise à jour nécessaire de la documentation ORIGIN
|
||||||
|
|
||||||
|
Si oui, préciser :
|
||||||
|
- Fichiers ORIGIN impactés (`docs/ORIGIN/…`)
|
||||||
|
- Nature du changement (ajout / correction / refonte partielle)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ Tests exécutés
|
||||||
|
|
||||||
|
Coche ce qui a été lancé :
|
||||||
|
|
||||||
|
- [ ] `go test ./...` (backend-api)
|
||||||
|
- [ ] `cargo test` (chat-server)
|
||||||
|
- [ ] `cargo test` (stream-server)
|
||||||
|
- [ ] `pnpm test` (web-frontend)
|
||||||
|
- [ ] Tests manuels locaux (décrire rapidement)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚠️ Breaking changes
|
||||||
|
|
||||||
|
- [ ] Aucune
|
||||||
|
- [ ] Oui
|
||||||
|
|
||||||
|
Si oui, expliquer :
|
||||||
|
- Ce qui casse
|
||||||
|
- Comment migrer
|
||||||
|
- Impact sur les clients / infra
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💬 Notes diverses
|
||||||
|
|
||||||
|
- TODO restant éventuel
|
||||||
|
- Pistes pour améliorations futures
|
||||||
|
|
||||||
34
.github/workflows/backend-ci.yml
vendored
Normal file
34
.github/workflows/backend-ci.yml
vendored
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
name: Backend API CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- "apps/backend-api/**"
|
||||||
|
- ".github/workflows/backend-ci.yml"
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- "apps/backend-api/**"
|
||||||
|
- ".github/workflows/backend-ci.yml"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
working-directory: apps/backend-api
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: "1.22"
|
||||||
|
|
||||||
|
- name: Download deps
|
||||||
|
run: go mod download
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
run: go test ./...
|
||||||
|
|
||||||
32
.github/workflows/chat-ci.yml
vendored
Normal file
32
.github/workflows/chat-ci.yml
vendored
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
name: Chat Server CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- "apps/chat-server/**"
|
||||||
|
- ".github/workflows/chat-ci.yml"
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- "apps/chat-server/**"
|
||||||
|
- ".github/workflows/chat-ci.yml"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
working-directory: apps/chat-server
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Rust
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
toolchain: stable
|
||||||
|
override: true
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
run: cargo test --all
|
||||||
|
|
||||||
37
.github/workflows/frontend-ci.yml
vendored
Normal file
37
.github/workflows/frontend-ci.yml
vendored
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
name: Frontend CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- "apps/web-frontend/**"
|
||||||
|
- ".github/workflows/frontend-ci.yml"
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- "apps/web-frontend/**"
|
||||||
|
- ".github/workflows/frontend-ci.yml"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
working-directory: apps/web-frontend
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Node
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: "20"
|
||||||
|
|
||||||
|
- name: Install pnpm
|
||||||
|
run: npm install -g pnpm
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
run: pnpm test
|
||||||
|
|
||||||
32
.github/workflows/stream-ci.yml
vendored
Normal file
32
.github/workflows/stream-ci.yml
vendored
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
name: Stream Server CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- "apps/stream-server/**"
|
||||||
|
- ".github/workflows/stream-ci.yml"
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- "apps/stream-server/**"
|
||||||
|
- ".github/workflows/stream-ci.yml"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
working-directory: apps/stream-server
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Rust
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
toolchain: stable
|
||||||
|
override: true
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
run: cargo test --all
|
||||||
|
|
||||||
87
.gitignore
vendored
87
.gitignore
vendored
|
|
@ -1,21 +1,74 @@
|
||||||
# Generated by Cargo
|
# ============================================================
|
||||||
# will have compiled files and executables
|
# Veza/Talas — Global .gitignore
|
||||||
debug
|
# Stack: Go, Rust, TypeScript/React, Docker, Scripts
|
||||||
target
|
# ============================================================
|
||||||
|
|
||||||
# These are backup files generated by rustfmt
|
### Node / JS
|
||||||
**/*.rs.bk
|
node_modules/
|
||||||
|
dist/
|
||||||
|
build/
|
||||||
|
.next/
|
||||||
|
pnpm-lock.yaml
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
|
||||||
# MSVC Windows builds of rustc generate these, which store debugging information
|
### Rust
|
||||||
*.pdb
|
target/
|
||||||
|
Cargo.lock
|
||||||
|
*.rs.bk
|
||||||
|
|
||||||
# Generated by cargo mutants
|
### Go
|
||||||
# Contains mutation testing data
|
bin/
|
||||||
**/mutants.out*/
|
*.exe
|
||||||
|
*.exe~
|
||||||
|
*.dll
|
||||||
|
*.so
|
||||||
|
*.dylib
|
||||||
|
|
||||||
|
### Python (scripts/tools)
|
||||||
|
__pycache__/
|
||||||
|
*.pyc
|
||||||
|
|
||||||
|
### Logs / Dumps
|
||||||
|
*.log
|
||||||
|
logs/
|
||||||
|
*.pid
|
||||||
|
*.seed
|
||||||
|
*.gz
|
||||||
|
|
||||||
|
### Editors / IDE
|
||||||
|
.vscode/
|
||||||
|
.idea/
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
|
||||||
|
### System trash
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
|
||||||
|
### Temp / Cache
|
||||||
|
tmp/
|
||||||
|
temp/
|
||||||
|
.cache/
|
||||||
|
coverage/
|
||||||
|
coverage-final.json
|
||||||
|
|
||||||
|
### Test artifacts
|
||||||
|
*.test
|
||||||
|
*.coverage
|
||||||
|
|
||||||
|
### Build / Bundles
|
||||||
|
*.wasm
|
||||||
|
*.bundle.js
|
||||||
|
*.map
|
||||||
|
|
||||||
|
### Environment / Secrets (NE JAMAIS COMMIT)
|
||||||
|
.env
|
||||||
|
.env.*
|
||||||
|
.secrets/
|
||||||
|
|
||||||
|
### Docker
|
||||||
|
docker-data/
|
||||||
|
*.tar
|
||||||
|
|
||||||
# RustRover
|
|
||||||
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
|
||||||
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
|
||||||
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
|
||||||
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
||||||
#.idea/
|
|
||||||
|
|
|
||||||
126
CONTRIBUTING.md
Normal file
126
CONTRIBUTING.md
Normal file
|
|
@ -0,0 +1,126 @@
|
||||||
|
# 🤝 Contribuer à Veza
|
||||||
|
|
||||||
|
Merci de contribuer à Veza !
|
||||||
|
Ce guide formalise un workflow clair, reproductible et adapté à la complexité du projet.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 1. Philosophie du projet
|
||||||
|
|
||||||
|
Veza suit trois principes :
|
||||||
|
|
||||||
|
1. **Cohérence** — respecter la structure ORIGIN (docs/ORIGIN/).
|
||||||
|
2. **Lisibilité** — code clair, typé, testé, documenté.
|
||||||
|
3. **Évolutivité** — préférer une architecture modulaire à un hack rapide.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 2. Branching Model
|
||||||
|
|
||||||
|
- `main` : toujours stable, toujours déployable.
|
||||||
|
- `develop` (optionnel) : branche d’intégration continue.
|
||||||
|
- Branches par fonctionnalité :
|
||||||
|
|
||||||
|
````
|
||||||
|
|
||||||
|
feat/<nom-fonction>
|
||||||
|
fix/<bug>
|
||||||
|
chore/<tâche-technique>
|
||||||
|
refactor/<refacto>
|
||||||
|
docs/<documentation>
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
Exemples :
|
||||||
|
|
||||||
|
- `feat/auth-refresh-tokens`
|
||||||
|
- `fix/jwt-uuid-mismatch`
|
||||||
|
- `refactor/chat-room-architecture`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 3. Convention de commits
|
||||||
|
|
||||||
|
Suivre le style **Conventional Commits** :
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
feat: ajout fonctionnalité
|
||||||
|
fix: correction de bug
|
||||||
|
chore: tâches automatiques, maj deps
|
||||||
|
docs: ajout ou mise à jour docs
|
||||||
|
refactor: restructuration sans changement de comportement
|
||||||
|
test: ajout/màj tests
|
||||||
|
ci: pipeline CI/CD
|
||||||
|
|
||||||
|
````
|
||||||
|
|
||||||
|
Exemples :
|
||||||
|
|
||||||
|
- `feat: add adaptive HLS transcoding worker`
|
||||||
|
- `fix: correct JWT user_id mismatch between Go and Rust`
|
||||||
|
- `refactor: isolate DM module in chat-server`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 4. Tests & Qualité
|
||||||
|
|
||||||
|
Avant toute PR :
|
||||||
|
|
||||||
|
1. Lancer les tests Go :
|
||||||
|
```bash
|
||||||
|
go test ./...
|
||||||
|
````
|
||||||
|
|
||||||
|
2. Lancer les tests Rust :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cargo test
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Lancer les tests du frontend :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pnpm test
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Vérifier lfmt / clippy :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cargo fmt --all --check
|
||||||
|
cargo clippy -- -D warnings
|
||||||
|
```
|
||||||
|
|
||||||
|
5. Vérifier go vet :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
go vet ./...
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 5. Pull Requests
|
||||||
|
|
||||||
|
1. Toujours ouvrir une PR, même si vous êtes seul.
|
||||||
|
2. Décrire :
|
||||||
|
|
||||||
|
* Contexte
|
||||||
|
* Changement
|
||||||
|
* Impact sur l'architecture ORIGIN
|
||||||
|
* Migrations nécessaires ?
|
||||||
|
* Compatibilité ascendante ?
|
||||||
|
3. Ajouter des captures si c’est du frontend.
|
||||||
|
4. Pas de merge si CI échoue.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 6. Documentation
|
||||||
|
|
||||||
|
* Tout changement significatif doit être reflété dans `docs/`.
|
||||||
|
* Si une décision touche à l’architecture : mettre à jour la section `ORIGIN`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Merci de rendre Veza meilleur !
|
||||||
|
|
||||||
|
|
||||||
106
README.md
106
README.md
|
|
@ -1 +1,105 @@
|
||||||
# veza
|
# 🌌 Veza — Plateforme créative et collaborative nouvelle génération
|
||||||
|
|
||||||
|
Veza est une plateforme audio complète et modulaire : partage, streaming haute performance, collaboration, chat temps réel, marketplace, analytics, et gestion créative.
|
||||||
|
Conçue pour être **intensive**, **scalable** et **créatrice de communautés**, elle s'appuie sur une architecture hybride **Go + Rust + React** pensée pour durer.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🏛️ Architecture (vue ultra-résumée)
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
veza/
|
||||||
|
│
|
||||||
|
├── apps/
|
||||||
|
│ ├── backend-api/ # API Go (auth, users, tracks, playlists…)
|
||||||
|
│ ├── chat-server/ # WebSocket Rust (rooms & DM)
|
||||||
|
│ ├── stream-server/ # Serveur audio Rust (FFmpeg, HLS)
|
||||||
|
│ └── web-frontend/ # Interface React/TS, Zustand, shadcn/ui
|
||||||
|
│
|
||||||
|
├── infra/
|
||||||
|
│ ├── docker/ # Images, scripts, entrypoints
|
||||||
|
│ ├── incus/ # Containers Dev/Prod
|
||||||
|
│ ├── ansible/ # Déploiement automatisé
|
||||||
|
│ └── k8s/ # (optionnel) Manifests Kubernetes
|
||||||
|
│
|
||||||
|
├── docs/
|
||||||
|
│ ├── ORIGIN/ # Spécifications "Constitution"
|
||||||
|
│ ├── ARCHITECTURE/
|
||||||
|
│ ├── FEATURES/
|
||||||
|
│ └── ROADMAP/
|
||||||
|
│
|
||||||
|
└── scripts/
|
||||||
|
├── dev/
|
||||||
|
├── ci/
|
||||||
|
└── smoke-tests/
|
||||||
|
|
||||||
|
````
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 Lancer le projet en local (dev environment)
|
||||||
|
|
||||||
|
**Pré-requis :**
|
||||||
|
- Go ≥ 1.22
|
||||||
|
- Rust ≥ 1.75
|
||||||
|
- pnpm ou npm
|
||||||
|
- Docker + docker-compose
|
||||||
|
- PostgreSQL + Redis
|
||||||
|
|
||||||
|
### 1. Cloner le repo
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/your-org/veza.git
|
||||||
|
cd veza
|
||||||
|
````
|
||||||
|
|
||||||
|
### 2. Lancer l’environnement de développement
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Lancer chaque service
|
||||||
|
|
||||||
|
#### Backend Go
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd apps/backend-api
|
||||||
|
go run cmd/server/main.go
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Chat server (Rust)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd apps/chat-server
|
||||||
|
cargo run
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Stream server (Rust)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd apps/stream-server
|
||||||
|
cargo run
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Frontend
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd apps/web-frontend
|
||||||
|
pnpm install
|
||||||
|
pnpm dev
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📜 Licence
|
||||||
|
|
||||||
|
Le projet est distribué sous licence **AGPL-3.0** (voir fichier `LICENSE`).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🤝 Contributions
|
||||||
|
|
||||||
|
Les contributions sont les bienvenues ! Voir `CONTRIBUTING.md`.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue