-
Notifications
You must be signed in to change notification settings - Fork 4
Geek Girl Con
This is an active real-world client project.
The mobile application provides convention attendees with a way to access schedules, event details, maps, and announcements before and during the conference.
This is a private repository. Access must be granted.
Contact Ayoub Dib (PM) for access:
π© Ayoub.dib@geekgirlcon.com
or request access through the NSC Practicum Slack workspace.
| Project | Repository Link |
|---|---|
| GeekGirlCon Mobile App (Front-End) | https://github.com/GeekGirlCon/mobile-app |
| GeekGirlCon Backend (API + Database) | https://github.com/GeekGirlCon/mobile-app-backend |
Both repos must be cloned to develop locally. Frontend uses Expo + Tamagui, backend uses Node + Firebase.
Before contributing code, your environment must be configured.
Follow all setup requirements below.
If you completed AD340 β Mobile App Development, you likely already have these installed.
- Expo Go β https://expo.dev/go
- Android Studio β https://developer.android.com/studio
- Android Emulator Setup β https://docs.expo.dev/workflow/android-studio-emulator/
- Node.js LTS + npm
- Git (see practicum setup guide)
Instructions for running the Expo app are found in the README:
https://github.com/GeekGirlCon/mobile-app#
If the app fails to launch, confirm your emulator is running and dependencies installed.
| Tool | Purpose |
|---|---|
| Expo | cross-platform mobile runtime |
| SQLite | internal local storage |
| Tamagui | design system & UI component library |
| Babel | JSX/TS transpilation |
| Firebase | backend auth + data storage |
| EAS | build + deployment pipeline |
Official docs:
- Expo β https://expo.dev/
- SQLite β https://docs.expo.dev/versions/latest/sdk/sqlite/
- Tamagui β https://tamagui.dev/
- Babel β https://babeljs.io/
We maintain TWO EAS organizations.
| Org | Purpose | Admin |
|---|---|---|
GeekGirlCon (private) |
Production builds | Maintained by Ayoub |
nsc-application-development |
Development / internal test builds | Students must request access |
Click to expand EAS overview
EAS (Expo Application Services) is used to generate installable .apk files and push production releases.
This replaces classic expo build workflows.
- Prod org is locked β only Ayoub handles production deploys
- Dev org is open β students must be invited to run builds
eas build -p android --profile development
eas metadata:push
eas updateFull guide here:
EAS Deployment Guide (new page to build)
Firebase is currently used only for Android push notification handling β specifically Expo push token routing and message dispatching.
This may expand later, but at this time Firebase does not manage authentication, database storage, or app content.
We maintain TWO Firebase projects, mirroring our EAS structure.
| Firebase Project | Package Name | Environment |
|---|---|---|
GeekGirlCon Android App |
com.geekgirlcon.geekgirlcon | Live notification delivery |
GeekGirlCon Development |
com.nscapplicationdevelopment.geekgirlconexpo | Internal testing & staging notifications |
Click to expand Firebase usage details
- Receives Expo push tokens for Android devices
- Sends push notifications to the mobile app
- Handles notification routing for dev/prod environments
- Works alongside Expo Push API
- Authentication
- Event schedule storage
- Live content updates via Firestore
- User profile or ticket data retention
Full integration doc coming soon:
Firebase Integration Guide
Emulator setup instructions now live on their own page:
π https://www.notion.so/Expo-Emulator-Environment-10dd514f21a080cfa54df9a25517cc6f
β Testing on a real device is recommended when working with notifications, EAS builds, or camera access.
| Page | Status |
|---|---|
eas-deployment |
Needs creation |
firebase-integration |
Needs creation |
expo-emulator-setup |
Exists (Notion link) |
| API docs for Backend | Future addition |
| Internal Data Schema | Future addition |
Home β’ New Student Onboarding β’ Guides β’ Projects β’ Code of Conduct β’ FAQ
Last updated: 12/7/2025