Skip to content

Geek Girl Con

Jesse edited this page Nov 29, 2025 · 5 revisions

GeekGirlCon – Mobile App Project

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.


πŸ”Ή Active Repositories

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.


πŸ”Ή Getting Started – Development Environment Setup

Before contributing code, your environment must be configured.
Follow all setup requirements below.

Pre-requisites

If you completed AD340 – Mobile App Development, you likely already have these installed.


πŸ”₯ Start the Front-End

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.


Dependencies & Technologies Used

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:


πŸ”Ή EAS Deployment (Builds, Releases, Submissions)

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.

Dev vs Prod Access

  • Prod org is locked β†’ only Ayoub handles production deploys
  • Dev org is open β†’ students must be invited to run builds

Common Commands

eas build -p android --profile development
eas metadata:push
eas update

Full guide here:
EAS Deployment Guide (new page to build)


πŸ”Ή Firebase Overview

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

Firebase Responsibilities (Current Scope)

  • 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

Future Possibilities (Not yet implemented)

  • Authentication
  • Event schedule storage
  • Live content updates via Firestore
  • User profile or ticket data retention

Full integration doc coming soon:
Firebase Integration Guide


πŸ”Ή Expo Emulator Setup (Required for dev testing)

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.


Upcoming Wiki Sub-Pages To Build

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

Clone this wiki locally