Skip to content

Commit 7106d05

Browse files
committed
Merge branch 'develop' into 74-speakers-listing-view
2 parents 4d98b0c + 266ef52 commit 7106d05

File tree

14 files changed

+759
-223
lines changed

14 files changed

+759
-223
lines changed

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
20

LICENSE

Lines changed: 661 additions & 201 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 48 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,63 @@
22

33
Voxxrin is your mobile conference companion.
44

5+
## Project bootstrap
6+
7+
Run `npm run bootstrap` (from root folder) once for all to install every required npm dependencies and initialize your local firebase emulator environment.
8+
9+
Then, to start both the backend (firebase emulator) and the frontend, simply run `npm run dev` from root folder.
10+
11+
On started, you should be able to open http://localhost:5173/ to access your local voxxrin instance.
12+
13+
## First crawler configuration
14+
15+
Open your firestore instance (you can access it locally through http://localhost:4000/firestore/default/data) then :
16+
- create a new root document (`Start collection` button) with:
17+
- collection id: `crawlers`
18+
- document id: `sample-event`
19+
- following fields:
20+
21+
| name | type | value |
22+
|------|------|--------|
23+
| descriptorUrl | string | `https://gist.github.com/fcamblor/6be34b50207d15f4d6202dfab780e409/raw/11661fb229ee4e0156908e2ca06d8a0c4f912619/videbays2025.json` |
24+
| eventFamily | string | `samples` |
25+
| eventId | string | `sample-event` |
26+
| eventName | string | `sample-event` |
27+
| kind | string | `single-file` |
28+
29+
- create another root document (`Start collection` button) with:
30+
- collection id: `public-tokens`
31+
- document id: `familyOrganizer:samples:ffffffff-ffff-ffff-ffff-ffffffffffff`
32+
- following fields:
33+
34+
| name | type | value |
35+
|------|------|--------|
36+
| eventFamilies | array of strings | `["samples"]` |
37+
| type | string | `FamilyOrganizerToken` |
38+
39+
- Once done, trigger a crawling for this new event using following curl command:
40+
```
41+
curl --request POST --url 'http://localhost:5001/voxxrin-v3/us-central1/api/crawlers/sample-event/refreshScheduleRequest?token=familyOrganizer%3Asamples%3Affffffff-ffff-ffff-ffff-ffffffffffff'
42+
```
43+
44+
You should get a successful execution summary, and should be able to see *a new event* popping on your local voxxrin instance's `Past Events` tab.
45+
546
## Project structure
647

7-
Voxxrin is a mobile app developed using ionic / capacitor + vue, wth a serverless backend relying on several Firebase services (auth, firestore, cloud functions).
48+
Voxxrin is a mobile app developed using ionic / capacitor + vue, with a serverless backend relying on several Firebase services (auth, firestore, cloud functions).
849

950
The mobile app is located in the `mobile` directory, and serverless firebase code is located in the `cloud` directory.
1051

1152
Each of these directories have their own `README.md` describing how to set them up.
1253

1354
## Tour of the features
1455

15-
_To be added (once we have all the screens implemented)_
56+
Look at [Feature showcase](https://github.com/voxxrin/voxxrin3/wiki/Voxxrin-3-features-showcase) to have an overview of currently-implemented Voxxrin features.
1657

1758
## How to add your own conference to the list ?
1859

19-
_To be detailed_
60+
Voxxrin is currently in a closed beta mode.
61+
62+
However, if you are interested into adding your conference to the list, drop us an email at `contact` at `voxxr.in`, describing where we can retrieve your schedule (API ? Website ?).
63+
64+
We will try to get back to you as soon as possible.

cloud/firestore/package-lock.json

Lines changed: 4 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cloud/firestore/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@
99
"deploy:indexes": "npx firebase-tools deploy --only firestore:indexes --project ${FIREBASE_PROJECT_NAME:-voxxrin-v3} --force || true",
1010
"deploy": "concurrently 'npm run deploy:rules' 'npm run deploy:indexes'"
1111
},
12-
"license": "Apache-2.0",
12+
"license": "AGPL-3.0-only",
13+
"engines": {
14+
"node": "20"
15+
},
1316
"devDependencies": {
1417
"@firebase/rules-unit-testing": "3.0.0",
1518
"@types/jest": "29.5.4",

cloud/functions/package-lock.json

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cloud/functions/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,16 @@
44
"lint": "eslint --ext .js,.ts .",
55
"build": "tsc",
66
"build:watch": "tsc --watch",
7-
"serve": "npm run build && env-cmd -f ./.env.local firebase emulators:start --import data --export-on-exit --inspect-functions",
7+
"serve": "npm run build && env-cmd -f ./.env.local firebase emulators:start --import data --export-on-exit --inspect-functions --project ${FIREBASE_PROJECT_NAME:-voxxrin-v3}",
88
"shell": "npm run build && firebase functions:shell",
99
"start": "npm run shell",
1010
"deploy": "firebase deploy --only functions --project ${FIREBASE_PROJECT_NAME:-voxxrin-v3}",
1111
"logs": "firebase functions:log",
1212
"test": "vitest"
1313
},
14+
"license": "AGPL-3.0-only",
1415
"engines": {
15-
"node": "18"
16+
"node": "20"
1617
},
1718
"main": "lib/cloud/functions/src/index.js",
1819
"dependencies": {

cloud/hosting/package-lock.json

Lines changed: 4 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cloud/hosting/package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@
66
"copy-from-mobile": "rm -Rf ./public/* && cp -a ../../mobile/dist/* ./public/",
77
"deploy": "npm run copy-from-mobile && firebase deploy --only hosting --project ${FIREBASE_PROJECT_NAME:-voxxrin-v3}"
88
},
9-
"license": "Apache-2.0",
9+
"license": "AGPL-3.0-only",
10+
"engines": {
11+
"node": "20"
12+
},
1013
"devDependencies": {
1114
"firebase-tools": "13.6.0"
1215
}

mobile/.env.dev

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
1+
# Will use local firebase instances (run `npm run serve` from cloud/ directory) on local DEV env only
2+
VITE_USE_LOCAL_FIREBASE_INSTANCE=true
3+
# Same, but for auth
4+
VITE_USE_LOCAL_FIREBASE_INSTANCE_FOR_AUTH=true
5+
16

27
# If you want, you can override this property in the git-ignored .env.dev.local file
38
# see https://vitejs.dev/guide/env-and-mode.html
4-
VITE_FIREBASE_API_KEY=<Please put your Public API Key here>
5-
VITE_FIREBASE_AUTH_DOMAIN=<Firebase Project>.firebaseapp.com
6-
VITE_FIREBASE_PROJECT_ID=<Firebase Project>
9+
VITE_FIREBASE_API_KEY=fake-voxxrin-v3-key
10+
#VITE_FIREBASE_API_KEY=<Please put your Public API Key here>
11+
VITE_FIREBASE_AUTH_DOMAIN=localhost
12+
#VITE_FIREBASE_AUTH_DOMAIN=<Firebase Project>.firebaseapp.com
13+
VITE_FIREBASE_PROJECT_ID=voxxrin-v3
14+
#VITE_FIREBASE_PROJECT_ID=<Firebase Project>
715
VITE_FIREBASE_STORAGE_BUCKET=<Firebase Project>.appspot.com
816
VITE_FIREBASE_MESSAGING_SENDER_ID=<Firebase Messaging ID>
917
VITE_FIREBASE_APP_ID=<Firebase App ID>
10-
# Will use local firebase instances (run `npm run serve` from cloud/ directory) on local DEV env only
11-
VITE_USE_LOCAL_FIREBASE_INSTANCE=false
12-
# Same, but for auth
13-
VITE_USE_LOCAL_FIREBASE_INSTANCE_FOR_AUTH=false
1418

1519
# Feature flags
1620
VITE_VIEWABLE_USER_DASHBOARD=true

0 commit comments

Comments
 (0)