Compare commits
355 Commits
google-aut
...
feat/pw-re
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
10f033fe78 | ||
| 869b2e696f | |||
| 050c970e7e | |||
| 5c83235cba | |||
| 3b2ca9963b | |||
| 0a08193418 | |||
|
|
e0f2674811 | ||
|
|
b84ee11f45 | ||
|
|
a2494ce498 | ||
|
|
b76d496034 | ||
|
|
a81d3ee34d | ||
|
|
85473ae492 | ||
|
|
9655e986ff | ||
|
|
101ea8498b | ||
|
|
7d33f85cbc | ||
|
|
66d792715e | ||
|
|
40581f4a45 | ||
|
|
2ca3fcb81a | ||
|
|
30fcacbec6 | ||
|
|
7c3289ccec | ||
|
|
7438986bcd | ||
|
|
3ac017a5f0 | ||
|
|
8e5cc1bc44 | ||
|
|
125a7faf02 | ||
|
|
a3676fabf8 | ||
|
|
9f542fc9dd | ||
| 930191569f | |||
| 74cd9c0df2 | |||
| d2642b4fb8 | |||
| ebcc48cc57 | |||
| 95b08935cc | |||
| 04487c9b24 | |||
|
|
20eb62d19b | ||
|
|
567d3250e2 | ||
| 4207d5ee50 | |||
|
|
509cc5b9f8 | ||
|
|
1b22dba9cd | ||
|
|
c0d9ee7ca6 | ||
|
|
10d1342294 | ||
|
|
350a4870cd | ||
|
|
27f7945289 | ||
|
|
3d76834f45 | ||
| ccc86895e2 | |||
| 279d16d59a | |||
| 04d288b844 | |||
|
|
857158c6cf | ||
|
|
80b06f15fe | ||
|
|
62877f9bd2 | ||
|
|
3e84605c59 | ||
|
|
45595408fe | ||
|
|
f362531d42 | ||
|
|
3dea5a0865 | ||
|
|
0416e1ba41 | ||
|
|
f77fa33396 | ||
|
|
b736dbc1f0 | ||
|
|
b53aff5bb2 | ||
| 9b51bfda0b | |||
| 2838beae12 | |||
| 93ae411ebe | |||
| 1a5ab5d099 | |||
| 477bff5bff | |||
| 9f55a1498b | |||
|
|
c5d465df97 | ||
|
|
399c7d0d9e | ||
|
|
794a7578a8 | ||
|
|
87dab44ad0 | ||
|
|
242e67edaa | ||
|
|
d84b789458 | ||
|
|
4cf5c39da8 | ||
|
|
fa74016257 | ||
|
|
d7848692f7 | ||
|
|
c4c4361ff9 | ||
|
|
19ded9ca74 | ||
|
|
63d4b10ebb | ||
|
|
ff0fc7a8ae | ||
|
|
f0ea73a2dd | ||
|
|
3276b02e0f | ||
|
|
35049eede9 | ||
|
|
a319447ecd | ||
| 918c113643 | |||
|
|
2434d5f5df | ||
|
|
25e3d99e22 | ||
|
|
f99dfd0fdd | ||
|
|
c8a95ce8a6 | ||
|
|
6dcda01f6f | ||
|
|
41d020e7a2 | ||
|
|
3553954afd | ||
|
|
7f51582043 | ||
|
|
5843da2d02 | ||
|
|
7eb3d54903 | ||
|
|
9fb165e4ff | ||
|
|
5c7648541f | ||
|
|
8dbb724a0f | ||
|
|
7b5629f4a4 | ||
|
|
17955a0525 | ||
|
|
73e0890b3b | ||
|
|
e081b03f20 | ||
|
|
97bf7bdac8 | ||
| 5baf9309c6 | |||
| aa75ece3a1 | |||
|
|
b3369a158f | ||
|
|
1fa8c7a560 | ||
|
|
1545c9240b | ||
|
|
028aed2e9a | ||
| 47e0861d47 | |||
| b1d2027d4b | |||
| 155e6f49af | |||
| d4f8afd61b | |||
| b80d4e20c1 | |||
| 3585c259a0 | |||
| 571b3b89e5 | |||
| 712c08303a | |||
|
|
7adfb6e294 | ||
|
|
3f4fb8f984 | ||
|
|
6bce844411 | ||
|
|
58b8515471 | ||
|
|
ce42aadd44 | ||
|
|
c5a7436e2c | ||
|
|
004ffa0be8 | ||
|
|
2f5a80a9c7 | ||
|
|
9b12c76978 | ||
|
|
3335516f0e | ||
|
|
a660b90e68 | ||
|
|
be0e41006a | ||
|
|
7edc5b75ef | ||
|
|
45c07b68a0 | ||
|
|
5bc4289bdc | ||
|
|
9f17cd9f83 | ||
|
|
c82cdc0445 | ||
|
|
4d77007010 | ||
|
|
2ece5b44ac | ||
|
|
1fa3d77e8d | ||
|
|
7166bb46ed | ||
|
|
d0166c6b27 | ||
|
|
393ff3c2c7 | ||
|
|
ae4d1f00d9 | ||
|
|
8a3d4f9c25 | ||
|
|
4034d29056 | ||
|
|
cce560031a | ||
|
|
f6226ce127 | ||
|
|
20deb7ae99 | ||
|
|
3c3ed74995 | ||
|
|
c3e8fb1c45 | ||
|
|
97be3b9c76 | ||
|
|
5662082048 | ||
|
|
9dc2389c35 | ||
|
|
10f80b6191 | ||
|
|
b943b9a621 | ||
|
|
fb9467e58e | ||
|
|
bf4b84e1f8 | ||
|
|
03ac681dd6 | ||
|
|
9d60993f8d | ||
|
|
10e53abfc1 | ||
|
|
18cc79f4a2 | ||
|
|
5c8e35ba7d | ||
|
|
2db657dd59 | ||
|
|
cbe8d291dd | ||
|
|
e0bdd5fd8f | ||
|
|
030cbfc786 | ||
|
|
d0597f0e95 | ||
|
|
f640b0d6f8 | ||
|
|
c005ebbdc9 | ||
|
|
cf6b61e0e9 | ||
|
|
9a7c4405bb | ||
|
|
7716c5f9c6 | ||
|
|
42ab0f6ed6 | ||
|
|
8628e07be1 | ||
|
|
fa60fca466 | ||
|
|
a51aa60e20 | ||
|
|
4b44ef0c11 | ||
|
|
bb96d57f27 | ||
|
|
8ccc90eceb | ||
|
|
467f440c54 | ||
|
|
88cfd1ecde | ||
|
|
deaaaac2cd | ||
|
|
6871aaf759 | ||
|
|
31d3909e80 | ||
|
|
ae36edfff4 | ||
|
|
fe782a4f94 | ||
|
|
9d8bb499ba | ||
|
|
968ae149a5 | ||
|
|
50f6fe6851 | ||
|
|
eddbe6e2be | ||
|
|
c4bc7c795c | ||
|
|
509d079bce | ||
|
|
af3da974bf | ||
|
|
da0b43c348 | ||
|
|
1c76266444 | ||
|
|
9033fbe937 | ||
|
|
34d646021f | ||
|
|
3aa104a923 | ||
|
|
047cd054bd | ||
|
|
b0dddbe815 | ||
|
|
70b506c6c2 | ||
|
|
8ce1beb518 | ||
|
|
4ec8878e8a | ||
|
|
d9ede44d7d | ||
|
|
0cd8846e2c | ||
|
|
1b63d27f74 | ||
|
|
8cde4747a7 | ||
|
|
5a5654d4f5 | ||
|
|
9c8395b578 | ||
|
|
0ce17054fc | ||
|
|
87fecb7522 | ||
|
|
9d5060fc31 | ||
|
|
2f19c0e547 | ||
|
|
c5ba72229f | ||
|
|
067f5e711d | ||
|
|
f725a89c0c | ||
|
|
69fbbd5e00 | ||
|
|
a1a2b77a16 | ||
|
|
deda1f738b | ||
|
|
cf1e98f9e6 | ||
|
|
124f87c199 | ||
|
|
572bb0056d | ||
|
|
fbf85a635e | ||
|
|
92e439892d | ||
|
|
93a2141c7c | ||
|
|
dc9f74c047 | ||
|
|
950e4c7767 | ||
|
|
c9c95be60f | ||
|
|
d931d00187 | ||
|
|
a0040c26ca | ||
|
|
728bb3d6a2 | ||
|
|
84f91e0d7f | ||
|
|
5a42f098d6 | ||
|
|
0922e6038b | ||
|
|
c45f425a5d | ||
|
|
2accb7dd72 | ||
|
|
db5e62c6ab | ||
|
|
b0e01ffbed | ||
|
|
9cd6c90188 | ||
|
|
e108bf2c66 | ||
|
|
b43979dd58 | ||
|
|
7b20792a51 | ||
|
|
4f9a3a9333 | ||
|
|
a26efefd01 | ||
|
|
ac4d4f6f66 | ||
|
|
2764805c04 | ||
| e43a8fd111 | |||
|
|
29414b5392 | ||
|
|
ef5a74da3b | ||
|
|
39bb7ced04 | ||
|
|
6cc7090360 | ||
|
|
9dfc2881a2 | ||
|
|
4e26925113 | ||
|
|
46f4ac82a8 | ||
|
|
77a230c944 | ||
|
|
fd8b4c59de | ||
|
|
e4d998b0ff | ||
|
|
7722eba86f | ||
|
|
5ada22d267 | ||
|
|
8d665175fd | ||
|
|
8eb524cc81 | ||
|
|
8728707b28 | ||
|
|
1e667813ad | ||
|
|
aa8782a5de | ||
|
|
ac4012087c | ||
|
|
6cca70a290 | ||
|
|
0fd64bfba0 | ||
|
|
1fa43555df | ||
|
|
47629e3938 | ||
|
|
8abf3e339a | ||
|
|
9297a28d7a | ||
|
|
44411454b2 | ||
|
|
88dea2784c | ||
|
|
6e6dff526b | ||
|
|
185f415e8d | ||
|
|
ec4ee5b94a | ||
|
|
0e2d2cf51c | ||
|
|
fb5e313f6f | ||
|
|
f1f7500b44 | ||
|
|
08494936af | ||
|
|
e3ba076870 | ||
|
|
5ac118efbd | ||
|
|
7882deab0b | ||
|
|
58ac90d68d | ||
|
|
9bb5139f76 | ||
|
|
31771f18ff | ||
|
|
a3191eda3c | ||
|
|
5f34fc4310 | ||
|
|
86337d4525 | ||
|
|
a4299aadb9 | ||
|
|
aa0c7d9621 | ||
|
|
73695e2580 | ||
|
|
e8f1a34372 | ||
|
|
a7dc6a76e9 | ||
|
|
d051d36406 | ||
|
|
31e46904a8 | ||
|
|
e79fad1208 | ||
|
|
faf12839bc | ||
|
|
bebea61036 | ||
|
|
38aa680b82 | ||
|
|
9910f51c2a | ||
|
|
9d74673cff | ||
|
|
b9513ad154 | ||
|
|
7cb01a3cba | ||
|
|
3a32fcf559 | ||
|
|
445b949fa8 | ||
|
|
437d5c7b5c | ||
|
|
e7b9accb50 | ||
|
|
09fd62706b | ||
|
|
b2e11b013c | ||
|
|
057726617b | ||
|
|
b333ec676a | ||
|
|
9db8e84086 | ||
|
|
8a741b920b | ||
|
|
702d9bcaef | ||
|
|
165ef44c77 | ||
|
|
9edccf1fb4 | ||
|
|
12120fb25a | ||
|
|
f60172b160 | ||
|
|
3da5d927cf | ||
|
|
1b947a580a | ||
|
|
34c7205cfe | ||
|
|
c1f8ab51b0 | ||
|
|
da9570da65 | ||
|
|
dad54f81f2 | ||
|
|
db926a2747 | ||
|
|
7aec52ee43 | ||
|
|
71f7dae657 | ||
|
|
f8bb6ed1c0 | ||
|
|
81ac9b91ef | ||
|
|
870489a220 | ||
|
|
b8811a7ff7 | ||
|
|
8784e8de3c | ||
|
|
e9f6adab63 | ||
|
|
b6feab715b | ||
|
|
ed8be27b11 | ||
|
|
64b1355712 | ||
|
|
c29740dc2e | ||
|
|
d094c81418 | ||
|
|
885c819ab5 | ||
|
|
c3d2e0a4e5 | ||
|
|
aa72f34a6c | ||
|
|
efede253dc | ||
|
|
a9cd0f16ae | ||
|
|
6a10ad2398 | ||
|
|
f43561460d | ||
|
|
eb100e843b | ||
|
|
cc364cfe7a | ||
|
|
319295d2e5 | ||
|
|
7bf8f32805 | ||
|
|
7e463662be | ||
| f788872f9b | |||
| a9574cb75a | |||
| f24e43a392 | |||
| a0bf718e1d | |||
|
|
cf3c9b8c86 | ||
|
|
89d39812a6 | ||
|
|
b5584a12d0 | ||
|
|
3ca2bdaa90 | ||
|
|
d5b15cee13 | ||
|
|
8a332ede38 | ||
|
|
2bed2e1c64 |
25
.env.example
@@ -1,11 +1,14 @@
|
||||
POSTGRES_USER=
|
||||
POSTGRES_PASSWORD=
|
||||
POSTGRES_NAME=
|
||||
POSTGRES_HOST=
|
||||
DATABASE_URL=
|
||||
JWT_SECRET=
|
||||
API_URL=
|
||||
SCORO_URL=
|
||||
GOOGLE_CLIENT_ID=
|
||||
GOOGLE_CLIENT_SECRET=
|
||||
GOOGLE_CALLBACK_URL=
|
||||
POSTGRES_USER=user
|
||||
POSTGRES_PASSWORD=eip
|
||||
POSTGRES_NAME=chromacase
|
||||
POSTGRES_HOST=db
|
||||
DATABASE_URL=postgresql://user:eip@db:5432/chromacase
|
||||
JWT_SECRET=wow
|
||||
POSTGRES_DB=chromacase
|
||||
API_URL=http://localhost:80/api
|
||||
SCORO_URL=ws://localhost:6543
|
||||
GOOGLE_CLIENT_ID=toto
|
||||
GOOGLE_SECRET=tata
|
||||
GOOGLE_CALLBACK_URL=http://localhost:19006/logged/google
|
||||
SMTP_TRANSPORT=
|
||||
MAIL_AUTHOR='"Chromacase" <chromacase@octohub.app>'
|
||||
|
||||
5
.envrc
@@ -1,4 +1 @@
|
||||
if ! has nix_direnv_version || ! nix_direnv_version 2.2.1; then
|
||||
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/2.2.1/direnvrc" "sha256-zelF0vLbEl5uaqrfIzbgNzJWGmLzCmYAkInj/LNxvKs="
|
||||
fi
|
||||
use flake
|
||||
use nix
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
> Why do I have a folder named ".expo" in my project?
|
||||
|
||||
The ".expo" folder is created when an Expo project is started using "expo start" command.
|
||||
|
||||
> What do the files contain?
|
||||
|
||||
- "devices.json": contains information about devices that have recently opened this project. This is used to populate the "Development sessions" list in your development builds.
|
||||
- "packager-info.json": contains port numbers and process PIDs that are used to serve the application to the mobile device/simulator.
|
||||
- "settings.json": contains the server configuration that is used to serve the application manifest.
|
||||
|
||||
> Should I commit the ".expo" folder?
|
||||
|
||||
No, you should not share the ".expo" folder. It does not contain any information that is relevant for other developers working on the project, it is specific to your machine.
|
||||
|
||||
Upon project creation, the ".expo" folder is already added to your ".gitignore" file.
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"hostType": "lan",
|
||||
"lanType": "ip",
|
||||
"dev": true,
|
||||
"minify": false,
|
||||
"urlRandomness": null,
|
||||
"https": false
|
||||
}
|
||||
209
.github/workflows/CI.yml
vendored
@@ -11,62 +11,187 @@ jobs:
|
||||
|
||||
## Build Back ##
|
||||
|
||||
Test_Build_Back:
|
||||
uses: ./.github/workflows/build_back.yml
|
||||
Build_Back:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./back
|
||||
environment: Staging
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Build Docker
|
||||
run: docker build -t testback .
|
||||
|
||||
## Build App ##
|
||||
|
||||
Test_Build_App:
|
||||
uses: ./.github/workflows/build_app.yml
|
||||
secrets: inherit
|
||||
Build_Front:
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./front
|
||||
environment: Staging
|
||||
|
||||
## Build Docker ##
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
Test_Build_Docker:
|
||||
needs: [ Test_Build_Back, Test_Build_App ]
|
||||
uses: ./.github/workflows/build_docker.yml
|
||||
- name: Install Yarn
|
||||
run: npm install -g yarn
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn install
|
||||
|
||||
- name: Type Check
|
||||
run: yarn tsc
|
||||
- name: Check Prettier
|
||||
run: yarn pretty:check .
|
||||
- name: Run Linter
|
||||
run: yarn lint
|
||||
|
||||
- name: 🏗 Setup Expo
|
||||
uses: expo/expo-github-action@v7
|
||||
with:
|
||||
expo-version: latest
|
||||
eas-version: 3.3.1
|
||||
token: ${{ secrets.EXPO_TOKEN }}
|
||||
|
||||
- name: Build Android APK
|
||||
run: |
|
||||
eas build -p android --profile production --local --non-interactive
|
||||
mv *.apk chromacase.apk
|
||||
|
||||
- name: Upload Artifact
|
||||
if: github.ref == 'refs/heads/main'
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: chromacase.apk
|
||||
path: front/
|
||||
|
||||
## Test Backend ##
|
||||
|
||||
Test_Back:
|
||||
needs: [ Test_Build_Back]
|
||||
uses: ./.github/workflows/test_back.yml
|
||||
secrets: inherit
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 15
|
||||
needs: [ Build_Back ]
|
||||
environment: Staging
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Copy env file to github secret env file
|
||||
run: cp .env.example .env
|
||||
|
||||
- name: Start the service
|
||||
run: docker-compose up -d back db
|
||||
|
||||
- name: Perform healthchecks
|
||||
run: |
|
||||
docker-compose ps -a
|
||||
docker-compose logs
|
||||
wget --retry-connrefused http://localhost:3000 # /healthcheck
|
||||
|
||||
- name: Run scorometer tests
|
||||
run: |
|
||||
pip install -r scorometer/requirements.txt
|
||||
cd scorometer/tests && ./runner.sh
|
||||
|
||||
- name: Run robot tests
|
||||
run: |
|
||||
pip install -r back/test/robot/requirements.txt
|
||||
robot -d out back/test/robot/
|
||||
- uses: actions/upload-artifact@v3
|
||||
if: always()
|
||||
with:
|
||||
name: results
|
||||
path: out
|
||||
|
||||
- name: Write results to Pull Request and Summary
|
||||
if: always() && github.event_name == 'pull_request'
|
||||
uses: joonvena/robotframework-reporter-action@v2.1
|
||||
with:
|
||||
report_path: out/
|
||||
gh_access_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
only_summary: false
|
||||
|
||||
- name: Write results to Summary
|
||||
if: always() && github.event_name != 'pull_request'
|
||||
uses: joonvena/robotframework-reporter-action@v2.1
|
||||
with:
|
||||
report_path: out/
|
||||
gh_access_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
only_summary: true
|
||||
|
||||
- name: Remove .env && stop the service
|
||||
run: docker-compose down && rm .env
|
||||
|
||||
## Test App ##
|
||||
|
||||
Test_App:
|
||||
needs: [ Test_Build_App ]
|
||||
uses: ./.github/workflows/chromatic.yml
|
||||
secrets: inherit
|
||||
|
||||
## Deployement ##
|
||||
|
||||
Deployement:
|
||||
Deployement_Docker:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref == 'refs/heads/main'
|
||||
needs: [ Test_Build_Docker, Test_Back, Test_App ]
|
||||
uses: ./.github/workflows/deployment_docker.yml
|
||||
secrets: inherit
|
||||
needs: [ Test_Back ]
|
||||
environment: Production
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Docker meta back
|
||||
id: meta
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
images: ghcr.io/${{github.repository_owner}}/back
|
||||
-
|
||||
name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
-
|
||||
name: Login to ghcr
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{github.repository_owner}}
|
||||
password: ${{secrets.GITHUB_TOKEN}}
|
||||
-
|
||||
name: Build and push
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: ./back
|
||||
push: true
|
||||
tags: ${{steps.meta.outputs.tags}}
|
||||
- name: Docker meta front
|
||||
id: meta_front
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
images: ghcr.io/${{github.repository_owner}}/front
|
||||
-
|
||||
name: Build and push front
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: ./front
|
||||
push: true
|
||||
tags: ${{steps.meta_front.outputs.tags}}
|
||||
build-args: |
|
||||
API_URL=${{secrets.API_URL}}
|
||||
SCORO_URL=${{secrets.SCORO_URL}}
|
||||
- name: Docker meta scorometer
|
||||
id: meta_scorometer
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
images: ghcr.io/${{github.repository_owner}}/scorometer
|
||||
-
|
||||
name: Build and push scorometer
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: ./scorometer
|
||||
push: true
|
||||
tags: ${{steps.meta_scorometer.outputs.tags}}
|
||||
|
||||
##############################################################################
|
||||
# ADD NEW TASKS IN THE CI #
|
||||
# #
|
||||
# #
|
||||
# ON this file #
|
||||
# ADD name: NAME_OF_YOUR_TASK #
|
||||
# ADD need option if you want to wait for a previous task to be completed #
|
||||
# ADD uses: ./.github/workflows/NAME_OF_YOUR_FILE.yml #
|
||||
# ADD secrets: inherit if you need to use your secrets #
|
||||
# #
|
||||
# ON your file #
|
||||
# ADD name: NAME_OF_YOUR_TASK #
|
||||
# ADD on: worflow_call: #
|
||||
# ADD jobs: #
|
||||
# ADD NAME_OF_YOUR_JOB: #
|
||||
# ADD runs-on: ubuntu-latest #
|
||||
# ADD if: Specify conditions for when to run a job #
|
||||
# ADD environment: Staging or Production #
|
||||
# ... Add your steps #
|
||||
# #
|
||||
##############################################################################
|
||||
43
.github/workflows/build_app.yml
vendored
@@ -1,43 +0,0 @@
|
||||
name: Build_App
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
|
||||
jobs:
|
||||
|
||||
## Build App ##
|
||||
|
||||
Build_Front:
|
||||
runs-on: ubuntu-latest
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./front
|
||||
environment: Staging
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install Yarn
|
||||
run: npm install -g yarn
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn install
|
||||
|
||||
- name: 🏗 Setup Expo
|
||||
uses: expo/expo-github-action@v7
|
||||
with:
|
||||
expo-version: latest
|
||||
eas-version: 3.3.1
|
||||
token: ${{ secrets.EXPO_TOKEN }}
|
||||
|
||||
- name: Build Android APK
|
||||
run: |
|
||||
eas build -p android --profile debug --local --non-interactive
|
||||
mv *.apk chromacase.apk
|
||||
|
||||
- name: Upload Artifact
|
||||
if: github.ref == 'refs/heads/main'
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: chromacase.apk
|
||||
path: front/
|
||||
22
.github/workflows/build_back.yml
vendored
@@ -1,22 +0,0 @@
|
||||
name: Build_Back
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
|
||||
jobs:
|
||||
|
||||
## Build Back ##
|
||||
|
||||
Build_Back:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./back
|
||||
environment: Staging
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Build Docker
|
||||
run: docker build -t testback .
|
||||
51
.github/workflows/build_docker.yml
vendored
@@ -1,51 +0,0 @@
|
||||
name: Build_Docker
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
|
||||
jobs:
|
||||
|
||||
Build_Docker:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 15
|
||||
environment: Staging
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Copy env file to github secret env file
|
||||
run: |
|
||||
touch .env
|
||||
echo "POSTGRES_USER=user" >> .env
|
||||
echo "POSTGRES_PASSWORD=eip" >> .env
|
||||
echo "POSTGRES_NAME=chromacase" >> .env
|
||||
echo "POSTGRES_HOST=db" >> .env
|
||||
echo "DATABASE_URL=postgresql://user:eip@db:5432/chromacase" >> .env
|
||||
echo "JWT_SECRET=wow" >> .env
|
||||
echo "POSTGRES_DB=chromacase" >> .env
|
||||
echo "API_URL=http://localhost:80/api" >> .env
|
||||
echo "SCORO_URL=ws://localhost:6543" >> .env
|
||||
|
||||
- name: Down all volumes
|
||||
run: docker-compose down --volumes
|
||||
|
||||
- name: Build the app
|
||||
run: docker-compose build
|
||||
|
||||
- name: Start the service
|
||||
run: docker-compose up -d
|
||||
|
||||
- name: Perform healthchecks
|
||||
run: |
|
||||
docker-compose ps -a
|
||||
wget --retry-connrefused http://localhost:3000 # /healthcheck
|
||||
|
||||
- name: Docker logs
|
||||
if: failure()
|
||||
run: docker-compose logs
|
||||
|
||||
- name: Remove .env && stop the service
|
||||
run: docker-compose down && rm .env
|
||||
11
.github/workflows/chromatic.yml
vendored
@@ -1,14 +1,9 @@
|
||||
name: Chromatic
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
name: 'Chromatic'
|
||||
on: push
|
||||
|
||||
jobs:
|
||||
|
||||
Chromatic:
|
||||
deployment:
|
||||
runs-on: ubuntu-latest
|
||||
environment: Staging
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
|
||||
|
||||
73
.github/workflows/deployment_docker.yml
vendored
@@ -1,73 +0,0 @@
|
||||
name: Deployement_Docker
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
|
||||
jobs:
|
||||
|
||||
## Deployement Docker ##
|
||||
|
||||
Deployement_Docker:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref == 'refs/heads/main'
|
||||
environment:
|
||||
name: Production
|
||||
url: http://x2024chromacase3421368307001.westeurope.cloudapp.azure.com
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Docker meta back
|
||||
id: meta
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
images: ghcr.io/${{github.repository_owner}}/back
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
|
||||
- name: Login to ghcr
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{github.repository_owner}}
|
||||
password: ${{secrets.GITHUB_TOKEN}}
|
||||
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: ./back
|
||||
push: true
|
||||
tags: ${{steps.meta.outputs.tags}}
|
||||
|
||||
- name: Docker meta front
|
||||
id: meta_front
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
images: ghcr.io/${{github.repository_owner}}/front
|
||||
|
||||
- name: Build and push front
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: ./front
|
||||
push: true
|
||||
tags: ${{steps.meta_front.outputs.tags}}
|
||||
build-args: |
|
||||
API_URL=${{secrets.API_URL}}
|
||||
SCORO_URL=${{secrets.SCORO_URL}}
|
||||
|
||||
- name: Docker meta scorometer
|
||||
id: meta_scorometer
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
images: ghcr.io/${{github.repository_owner}}/scorometer
|
||||
|
||||
- name: Build and push scorometer
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
context: ./scorometer
|
||||
push: true
|
||||
tags: ${{steps.meta_scorometer.outputs.tags}}
|
||||
70
.github/workflows/test_back.yml
vendored
@@ -1,70 +0,0 @@
|
||||
name: Test_Back
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
|
||||
jobs:
|
||||
|
||||
## Test Backend ##
|
||||
|
||||
Test_Back:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 15
|
||||
environment: Staging
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Copy env file to github secret env file
|
||||
run: |
|
||||
touch .env
|
||||
echo "POSTGRES_USER=user" >> .env
|
||||
echo "POSTGRES_PASSWORD=eip" >> .env
|
||||
echo "POSTGRES_NAME=chromacase" >> .env
|
||||
echo "POSTGRES_HOST=db" >> .env
|
||||
echo "DATABASE_URL=postgresql://user:eip@db:5432/chromacase" >> .env
|
||||
echo "JWT_SECRET=wow" >> .env
|
||||
echo "POSTGRES_DB=chromacase" >> .env
|
||||
echo "API_URL=http://localhost:80/api" >> .env
|
||||
echo "SCORO_URL=ws://localhost:6543" >> .env
|
||||
|
||||
- name: Start the service
|
||||
run: docker-compose up -d back db
|
||||
|
||||
- name: Perform healthchecks
|
||||
run: |
|
||||
docker-compose ps -a
|
||||
wget --retry-connrefused http://localhost:3000 # /healthcheck
|
||||
|
||||
- name: Run robot tests
|
||||
run: |
|
||||
pip install -r back/test/robot/requirements.txt
|
||||
robot -d out back/test/robot/
|
||||
|
||||
- uses: actions/upload-artifact@v3
|
||||
if: always()
|
||||
with:
|
||||
name: results
|
||||
path: out
|
||||
|
||||
- name: Write results to Pull Request and Summarry
|
||||
if: always() && github.event_name == 'pull_request'
|
||||
uses: joonvena/robotframework-reporter-action@v2.1
|
||||
with:
|
||||
report_path: out/
|
||||
gh_access_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
only_summary: false
|
||||
|
||||
- name: Write results to Summarry
|
||||
if: always() && github.event_name != 'pull_request'
|
||||
uses: joonvena/robotframework-reporter-action@v2.1
|
||||
with:
|
||||
report_path: out/
|
||||
gh_access_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
only_summary: true
|
||||
|
||||
- name: Remove .env && stop the service
|
||||
run: docker-compose down && rm .env
|
||||
3
.gitignore
vendored
@@ -11,4 +11,5 @@ report.html
|
||||
log.html
|
||||
.expo
|
||||
node_modules/
|
||||
./front/coverage
|
||||
./front/coverage
|
||||
.venv
|
||||
|
||||
9
README.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# 
|
||||
|
||||
La principale raison pour laquelle on arrête de jouer d'un instrument est la perte de motivation. C'est un apprentissage long et vraiment demandant. ChromaCase propose d'accompagner les joueurs de piano grâce à une application mobile avec une expérience personnalisée. Celle-ci, générée par une IA, cible les goûts et identifie les difficultés du joueur.
|
||||
|
||||
Ça vous interesse? Rendez-vous sur notre [site](https://chromacase.studio/) pour prendre contact
|
||||
|
||||
## Structure du Projet
|
||||
|
||||

|
||||
BIN
assets/artists/Beethoven/illustration.png
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
BIN
assets/artists/Christian Petzold/illustration.png
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
assets/artists/Erik Satie/illustration.png
Normal file
|
After Width: | Height: | Size: 558 KiB |
BIN
assets/artists/Franz Liszt/illustration.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
assets/artists/Franz Xaver Gruber/illustration.png
Normal file
|
After Width: | Height: | Size: 4.2 MiB |
BIN
assets/artists/Gerardo Matos Rodríguez/illustration.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
assets/artists/Johann Pachelbel/illustration.png
Normal file
|
After Width: | Height: | Size: 2.3 MiB |
BIN
assets/artists/Johann Sebastian Bach/illustration.png
Normal file
|
After Width: | Height: | Size: 376 KiB |
BIN
assets/artists/Joseph Haydn/illustration.png
Normal file
|
After Width: | Height: | Size: 1012 KiB |
BIN
assets/artists/Ludwig Van Beethoven/illustration.png
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
BIN
assets/artists/Misc Children/illustration.png
Normal file
|
After Width: | Height: | Size: 392 KiB |
BIN
assets/artists/Misc Christmas/illustration.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
assets/artists/Misc Traditional/illustration.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
assets/artists/Misc Tunes/illustration.png
Normal file
|
After Width: | Height: | Size: 147 KiB |
BIN
assets/artists/Test/illustration.png
Normal file
|
After Width: | Height: | Size: 111 KiB |
BIN
assets/artists/William Gillock/illustration.png
Normal file
|
After Width: | Height: | Size: 1.7 MiB |
BIN
assets/docs/structure.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
assets/genres/Abstract/illustration.png
Normal file
|
After Width: | Height: | Size: 12 MiB |
BIN
assets/genres/Classical/illustration.png
Normal file
|
After Width: | Height: | Size: 215 KiB |
BIN
assets/genres/Folk/illustration.png
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
assets/genres/Solo/illustration.png
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
assets/genres/Soundtrack/illustration.png
Normal file
|
After Width: | Height: | Size: 67 KiB |
BIN
assets/graphical/title.jpeg
Normal file
|
After Width: | Height: | Size: 762 KiB |
BIN
assets/graphical/title.png
Normal file
|
After Width: | Height: | Size: 3.0 MiB |
@@ -1,10 +1,10 @@
|
||||
|
||||
[Metadata]
|
||||
Name=Chopin - Nocturne Op 9 No 2 (E Flat Major)
|
||||
Artist=Frédéric Chopin
|
||||
Name=Bach: Minuet in G Minor (BWV Anh. 115)
|
||||
Artist=Christian Petzold
|
||||
Genre=Classical
|
||||
Album=e
|
||||
|
||||
Album=
|
||||
|
||||
[Difficulties]
|
||||
TwoHands=0
|
||||
Rhythm=0
|
||||
|
After Width: | Height: | Size: 376 KiB |
@@ -1,10 +1,10 @@
|
||||
|
||||
[Metadata]
|
||||
Name=Prelude I in C major, BWV 846 - Well Tempered Clavier [First Book]
|
||||
Name=Bach: Polonaise in g Minor (BWV Anh. 119)
|
||||
Artist=Johann Sebastian Bach
|
||||
Genre=Classical
|
||||
Album=e
|
||||
|
||||
Album=
|
||||
|
||||
[Difficulties]
|
||||
TwoHands=0
|
||||
Rhythm=0
|
||||
|
After Width: | Height: | Size: 376 KiB |
@@ -1,10 +1,10 @@
|
||||
|
||||
[Metadata]
|
||||
Name=Rachmaninoff - Rhapsody on a theme of Paganini, Variation 18, Solo Piano
|
||||
Artist=Sergei Rachmaninoff
|
||||
Name=Beethoven Symphony 7 2nd Movement (Allegretto) Simple Piano arrangement
|
||||
Artist=Ludwig Van Beethoven
|
||||
Genre=Classical
|
||||
Album=e
|
||||
|
||||
Album=
|
||||
|
||||
[Difficulties]
|
||||
TwoHands=0
|
||||
Rhythm=0
|
||||
|
After Width: | Height: | Size: 2.9 MiB |
@@ -1,10 +1,10 @@
|
||||
|
||||
[Metadata]
|
||||
Name=Vivaldi's Spring from the Four Seasons, Piano Transcription
|
||||
Artist=Antonio Vivaldi
|
||||
Name=Canon in D (easy)
|
||||
Artist=Johann Pachelbel
|
||||
Genre=Classical
|
||||
Album=e
|
||||
|
||||
Album=
|
||||
|
||||
[Difficulties]
|
||||
TwoHands=0
|
||||
Rhythm=0
|
||||
BIN
assets/musics/Canon in D (easy)/Canon in D (easy).midi
Normal file
BIN
assets/musics/Canon in D (easy)/Canon in D (easy).mxl
Normal file
BIN
assets/musics/Canon in D (easy)/illustration.png
Normal file
|
After Width: | Height: | Size: 2.3 MiB |
@@ -0,0 +1,21 @@
|
||||
|
||||
[Metadata]
|
||||
Name=El pequeño tamborilero (The little drummer boy)
|
||||
Artist=Misc Christmas
|
||||
Genre=Soundtrack
|
||||
Album=
|
||||
|
||||
[Difficulties]
|
||||
TwoHands=0
|
||||
Rhythm=0
|
||||
NoteCombo=0
|
||||
Arpeggio=0
|
||||
Distance=0
|
||||
LeftHand=0
|
||||
RightHand=0
|
||||
LeadHandChange=0
|
||||
ChordComplexity=0
|
||||
ChordTiming=0
|
||||
Length=0
|
||||
PedalPoint=0
|
||||
Precision=0
|
||||
|
After Width: | Height: | Size: 4.4 KiB |
@@ -0,0 +1,21 @@
|
||||
|
||||
[Metadata]
|
||||
Name=Erik Satie - Gnossienne No.1. {Professional production score.}
|
||||
Artist=Erik Satie
|
||||
Genre=Classical
|
||||
Album=
|
||||
|
||||
[Difficulties]
|
||||
TwoHands=0
|
||||
Rhythm=0
|
||||
NoteCombo=0
|
||||
Arpeggio=0
|
||||
Distance=0
|
||||
LeftHand=0
|
||||
RightHand=0
|
||||
LeadHandChange=0
|
||||
ChordComplexity=0
|
||||
ChordTiming=0
|
||||
Length=0
|
||||
PedalPoint=0
|
||||
Precision=0
|
||||
|
After Width: | Height: | Size: 558 KiB |
@@ -0,0 +1,21 @@
|
||||
|
||||
[Metadata]
|
||||
Name=French National Anthem "La Marseillaise"
|
||||
Artist=Misc Tunes
|
||||
Genre=Solo
|
||||
Album=
|
||||
|
||||
[Difficulties]
|
||||
TwoHands=0
|
||||
Rhythm=0
|
||||
NoteCombo=0
|
||||
Arpeggio=0
|
||||
Distance=0
|
||||
LeftHand=0
|
||||
RightHand=0
|
||||
LeadHandChange=0
|
||||
ChordComplexity=0
|
||||
ChordTiming=0
|
||||
Length=0
|
||||
PedalPoint=0
|
||||
Precision=0
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,21 @@
|
||||
|
||||
[Metadata]
|
||||
Name=German National Anthem " Das Lied der Deutschen"
|
||||
Artist=Joseph Haydn
|
||||
Genre=Classical
|
||||
Album=
|
||||
|
||||
[Difficulties]
|
||||
TwoHands=0
|
||||
Rhythm=0
|
||||
NoteCombo=0
|
||||
Arpeggio=0
|
||||
Distance=0
|
||||
LeftHand=0
|
||||
RightHand=0
|
||||
LeadHandChange=0
|
||||
ChordComplexity=0
|
||||
ChordTiming=0
|
||||
Length=0
|
||||
PedalPoint=0
|
||||
Precision=0
|
||||
|
After Width: | Height: | Size: 932 B |
@@ -0,0 +1,21 @@
|
||||
|
||||
[Metadata]
|
||||
Name=Jesus Alegria dos Homens
|
||||
Artist=Johann Sebastian Bach
|
||||
Genre=Classical
|
||||
Album=
|
||||
|
||||
[Difficulties]
|
||||
TwoHands=0
|
||||
Rhythm=0
|
||||
NoteCombo=0
|
||||
Arpeggio=0
|
||||
Distance=0
|
||||
LeftHand=0
|
||||
RightHand=0
|
||||
LeadHandChange=0
|
||||
ChordComplexity=0
|
||||
ChordTiming=0
|
||||
Length=0
|
||||
PedalPoint=0
|
||||
Precision=0
|
||||
BIN
assets/musics/Jesus Alegria dos Homens/illustration.png
Normal file
|
After Width: | Height: | Size: 376 KiB |
21
assets/musics/Liebestraum (easy)/Liebestraum (easy).ini
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
[Metadata]
|
||||
Name=Liebestraum (easy)
|
||||
Artist=Franz Liszt
|
||||
Genre=Classical
|
||||
Album=
|
||||
|
||||
[Difficulties]
|
||||
TwoHands=0
|
||||
Rhythm=0
|
||||
NoteCombo=0
|
||||
Arpeggio=0
|
||||
Distance=0
|
||||
LeftHand=0
|
||||
RightHand=0
|
||||
LeadHandChange=0
|
||||
ChordComplexity=0
|
||||
ChordTiming=0
|
||||
Length=0
|
||||
PedalPoint=0
|
||||
Precision=0
|
||||
BIN
assets/musics/Liebestraum (easy)/Liebestraum (easy).midi
Normal file
BIN
assets/musics/Liebestraum (easy)/Liebestraum (easy).mxl
Normal file
BIN
assets/musics/Liebestraum (easy)/illustration.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
21
assets/musics/Mary, Did You Know/Mary, Did You Know.ini
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
[Metadata]
|
||||
Name=Mary, Did You Know?
|
||||
Artist=Misc Christmas
|
||||
Genre=Soundtrack
|
||||
Album=
|
||||
|
||||
[Difficulties]
|
||||
TwoHands=0
|
||||
Rhythm=0
|
||||
NoteCombo=0
|
||||
Arpeggio=0
|
||||
Distance=0
|
||||
LeftHand=0
|
||||
RightHand=0
|
||||
LeadHandChange=0
|
||||
ChordComplexity=0
|
||||
ChordTiming=0
|
||||
Length=0
|
||||
PedalPoint=0
|
||||
Precision=0
|
||||
BIN
assets/musics/Mary, Did You Know/Mary, Did You Know.midi
Normal file
BIN
assets/musics/Mary, Did You Know/Mary, Did You Know.mxl
Normal file
BIN
assets/musics/Mary, Did You Know/illustration.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
assets/musics/SCORO_TEST/SCORO_TEST.midi
Normal file
BIN
assets/musics/SCORO_TEST/illustration.png
Normal file
|
After Width: | Height: | Size: 111 KiB |
@@ -0,0 +1,21 @@
|
||||
|
||||
[Metadata]
|
||||
Name=Sarabande - William Gillock
|
||||
Artist=William Gillock
|
||||
Genre=Classical
|
||||
Album=
|
||||
|
||||
[Difficulties]
|
||||
TwoHands=0
|
||||
Rhythm=0
|
||||
NoteCombo=0
|
||||
Arpeggio=0
|
||||
Distance=0
|
||||
LeftHand=0
|
||||
RightHand=0
|
||||
LeadHandChange=0
|
||||
ChordComplexity=0
|
||||
ChordTiming=0
|
||||
Length=0
|
||||
PedalPoint=0
|
||||
Precision=0
|
||||
BIN
assets/musics/Sarabande - William Gillock/illustration.png
Normal file
|
After Width: | Height: | Size: 1.7 MiB |
21
assets/musics/Short/Short.ini
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
[Metadata]
|
||||
Name=Short
|
||||
Artist=Test
|
||||
Genre=Abstract
|
||||
Album=Trololol
|
||||
|
||||
[Difficulties]
|
||||
TwoHands=0
|
||||
Rhythm=0
|
||||
NoteCombo=0
|
||||
Arpeggio=0
|
||||
Distance=0
|
||||
LeftHand=0
|
||||
RightHand=0
|
||||
LeadHandChange=0
|
||||
ChordComplexity=0
|
||||
ChordTiming=0
|
||||
Length=0
|
||||
PedalPoint=0
|
||||
Precision=0
|
||||
BIN
assets/musics/Short/Short.mid
Normal file
BIN
assets/musics/Short/Short.midi
Normal file
BIN
assets/musics/Short/Short.mxl
Normal file
BIN
assets/musics/Short/illustration.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
21
assets/musics/Silent Night/Silent Night.ini
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
[Metadata]
|
||||
Name=Silent Night
|
||||
Artist=Franz Xaver Gruber
|
||||
Genre=Classical
|
||||
Album=
|
||||
|
||||
[Difficulties]
|
||||
TwoHands=0
|
||||
Rhythm=0
|
||||
NoteCombo=0
|
||||
Arpeggio=0
|
||||
Distance=0
|
||||
LeftHand=0
|
||||
RightHand=0
|
||||
LeadHandChange=0
|
||||
ChordComplexity=0
|
||||
ChordTiming=0
|
||||
Length=0
|
||||
PedalPoint=0
|
||||
Precision=0
|
||||
BIN
assets/musics/Silent Night/Silent Night.midi
Normal file
BIN
assets/musics/Silent Night/Silent Night.mxl
Normal file
BIN
assets/musics/Silent Night/illustration.png
Normal file
|
After Width: | Height: | Size: 4.2 MiB |
@@ -0,0 +1,21 @@
|
||||
|
||||
[Metadata]
|
||||
Name=Tango La Cumparsita - Piano Solo (Tutorial Parte B)
|
||||
Artist=Gerardo Matos Rodríguez
|
||||
Genre=Classical
|
||||
Album=
|
||||
|
||||
[Difficulties]
|
||||
TwoHands=0
|
||||
Rhythm=0
|
||||
NoteCombo=0
|
||||
Arpeggio=0
|
||||
Distance=0
|
||||
LeftHand=0
|
||||
RightHand=0
|
||||
LeadHandChange=0
|
||||
ChordComplexity=0
|
||||
ChordTiming=0
|
||||
Length=0
|
||||
PedalPoint=0
|
||||
Precision=0
|
||||