Skip to content

Commit

Permalink
Merge pull request #18 from llucasspot/monorepo-bigbang
Browse files Browse the repository at this point in the history
Monorepo bigbang
  • Loading branch information
llucasspot authored Apr 16, 2024
2 parents b1b6f76 + aaceb06 commit 49a97a0
Show file tree
Hide file tree
Showing 470 changed files with 45,430 additions and 30,316 deletions.
12 changes: 3 additions & 9 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,10 @@ jobs:
node-version: '21'

- name: Install Dependencies
run: npm install
run: yarn install --frozen-lockfile

- name: Run Lint
run: npm run lint
run: yarn apps:lint

- name: Check Formatting
run: npm run format-check

- name: Build Swagger Beans
run : npm run swagger:backend:update

- name: Check Ts
run: npm run typecheck
run: yarn apps:format
68 changes: 25 additions & 43 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,46 +1,28 @@
# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files

# dependencies
node_modules/

# Expo
.expo/
dist/
web-build/

# Native
*.orig.*
*.jks
*.p8
*.p12
*.key
*.mobileprovision

# Metro
.metro-health-check*

# debug
npm-debug.*
yarn-debug.*
yarn-error.*

# macOS
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.pem

# local env files
.env*.local

# typescript
*.tsbuildinfo

# @generated expo-cli sync-2b81b286409207a5da26e14c78851eb30d8ccbdb
# The following patterns were generated by expo-cli

expo-env.d.ts
# @end expo-cli
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

.env
*.sqlite3

# generated beans
swagger/
uploads
6 changes: 3 additions & 3 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#npm test

yarn lint
yarn format
yarn typecheck
yarn apps:lint
yarn apps:format
yarn apps:typecheck
64 changes: 0 additions & 64 deletions App.tsx

This file was deleted.

113 changes: 78 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Boumboum app

Intégration du projet Bouboum de [Benjamin Code](https://www.youtube.com/watch?v=JDl3P7wZw50) en react native.
Intégration du projet Boumboum de [Benjamin Code](https://www.youtube.com/watch?v=JDl3P7wZw50) en react native.

## Avancement du projet

Expand All @@ -9,67 +9,117 @@ Intégration du projet Bouboum de [Benjamin Code](https://www.youtube.com/watch?
### TODO

Intégration graphique :
- [x] Home page

- [x] Inscription étape 1 : choix avatar
- [x] Inscription étape 2 : Informations personnelles
- [x] Inscription étape 3 : Selection des musiques préférées

- [x] Home page
- [x] Matching

- [ ] Page édition de profil
- [ ] Page liste des matchs

Accessibilité :
- [ ] Dark mode (30%)
- [ ] Traduction en/fr (20%)

Branchement au backend :
- [ ] TODO à définir
- [ ] Dark mode
- [x] Traduction en/fr

## Développement

### Structure du projet

```
├── ...
├── swagger : folder contenant les types du backend auto genérés depuis le swagger
└── src
├── api/
├── assets/
├── components/
├── hooks/
├── navigation/ : stacks react navigation
├── screens/ : screen utilisés dans la stack react navigation
├── services/ : services pour la gestion fonctionnelle & technique (states, i18n, storage, config, etc.)
├── tsyringe/ : config injection de dependance
└── utils/ : utils divers
├── .env.exemple
├── App.tsx
└── apps/ => Applications du monorepo
├── backend/ => Application NestJs Typescript
├── config/ => Dossier config du backend
└── src/
├── app/
├── core/ => Modules technique du project
└── modules/ => Modules fonctionnels du project
└── boumboumapp/ => Application React Native Typescript
└──src/
├── components/ => Components core
├── module_declarations/ => Declarations typescript externes
└── modules/ => Modules fonctionnels du project
en artichecture :
├── assets/ => Assets utilisés uniquement par le module
├── components/ => Components //
├── context/ => Context //
├── hooks/ => Hooks //
├── i18n/ => I18n keys utilisées dans le language.service.ts
├── screens/ => Screens //
└── .navigator.ts => Navigator du module (react navigation)
└── App.tsx
├── .env => Variables d'environnement
└── index.js => Main file
└── pakages/ => Packages du monorepo
└── di/ => Package d'injection de dependance du project front
└── swaggers/ => Projets Swagger autogénérés via openapi-generator-cli
├── backend/ => Beans Backend autogénérés pour le Frontend
└── spotify/ => Beans Spotify autogénérés pour le Backend
└── ...
```

### Configuration
### Configuration Backend

La configuration du backend se trouve dans le dossier apps/backend/conf/.
Vous pouvez ajouter un fichier `local.ts` qui ne sera pas commit pour votre conf local.
Exemple :
```typescript
export default definePartialConfig({
database: {
provider: SqliteDatabaseService,
configs: {
[DatabaseDialect.SQLITE]: {
// alter: true,
},
},
},
ssoProviders: {
spotify: {
clientID: 'fbzyvczjhvbfzrfvzjhrvaz',
clientSecret: 'hvbyzavuzyavfzayvrazyjv',
callbackURL: 'http://localhost:4000/api/auth/spotify/callback',
successURL: 'http://localhost:4000/api/auth/success',
},
},
});
```

Dupliquer le fichier `.env.exemple` en `.env` pour adapter les variables d'environnement à votre configuration.
### Configuration Boumboumapp

Dupliquer le fichier `.env.exemple` en `.env` pour adapter les variables d'environnement à votre configuration.
Pour travailler en local sans serveur avec des données mockées, passer la variable `EXPO_PUBLIC_MOCK_MODE` du `.env` a `true`

### Execution
### Execution

L'application utilise expo, vous n'avez donc pas besoin d'installer un environnement android ou ios.
suffit d'installer l'application [Expo GO](https://expo.dev/client) sur votre téléphone.

Installation des dépendances :
```
npm install
yarn install
```

Générer les beans du backend :
Démarrer le backend :
```
npm run swagger:backend:update
cd apps/backend
yarn start:dev
```

Si modification, regénérer les beans le backend :
```
yarn swagger:backend:update
yarn swagger:backend:build
```

Lancer l'application en mode développement:
```
npm run start
cd apps/boumboumapp
yarn start -c
```

Puis scanner le QR code qui s'affiche dans le terminal avec l'application `Expo Go` sur votre téléphone.
Expand All @@ -78,24 +128,17 @@ Puis scanner le QR code qui s'affiche dans le terminal avec l'application `Expo

Pour travailler avec le serveur, passer la variable .env `EXPO_PUBLIC_MOCK_MODE` a `false`

Prendre la version modifiée du backend boomboom pour fonctionner avec l'implémentation sso :
https://github.com/llucasspot/boumboum-back



Ne pas oubliez de créer une app sso dans le [dashboard](https://developer.spotify.com/dashboard) dev spotify.
Ne pas oubliez d'ajouter un utilisateur test


## Liens connexes

- [Vidéo de présesation du projet par Benjamin Code](https://www.youtube.com/watch?v=JDl3P7wZw50&list=PL8x4xEF7H2YPU7ZFIACGiZmOEHY49IZ9E&ab_channel=BenjaminCode)
- [Maquettes Figma](https://www.figma.com/community/file/1316792772224536230/boumboum)
- [Code source backend](https://github.com/Benjamin-Code-YouTube/boumboum-back)

## Crédits

- Adaptation en typescript, organisation du code et branchement au backend par llucas.spot
- Adaptation en Typescript, organisation du code et branchement au backend par llucas.spot
- Intégration graphique et animations par [Stéphane Wouters](https://github.com/Doelia/boumboum-app)

Si vous récupérez notre travail, merci de créditer "llucas.spot" "Stéphane Wouters" et de nous en notifier.
37 changes: 0 additions & 37 deletions app.json

This file was deleted.

Loading

0 comments on commit 49a97a0

Please sign in to comment.