/meetover

MeetOver - Connecting Professionals on the Fly

Primary LanguageJavaScript

MeetOver

Description

Mobile application for iOS and Android used to connect busy professionals on the fly

Backend services

REST

  • Gorilla mux for rest router
  • Each route is implemented under /router/handlers
  • Default port: 8080

Firebase

  • Realtime Database for user data (via firego)
  • Authentication for users
  • Storage for large files

Endpoints:

  • Unauthenticated
    • GET: /
    • POST: /login/<linkedin code>
    • POST: /test/<type of test>
    • POST: /imitateuser/<user id>
  • Authenticated
    • POST: /refreshtoken
    • POST: /meetover/<other user id>
    • POST: /meetover/decision/<other user id>
    • POST: /userprofiles
    • POST: /sendpush
    • POST: /match/<other user id>

Installation instructions

  1. Place current directory in GOPATH
  2. Navigate to /backend
  3. Install dependencies: dep ensure
  4. Build: go build
  5. Run: ./backend

Deployment on Heroku

Command: git subtree push --prefix backend heroku master

Client App

Stack

React Native

  • Core native libraries

Expo

  • Seamless development cycle
  • Push notification support
  • Geo location support

Redux

  • State management
  • Allows for state access from any component

React Navigation Routes

  • LoginScreen
  • CreateProfileScreen
  • AppNavigator
    • MainTabNavigator
      • ListScreen
      • MapScreen
      • ChatsScreen
    • SettingsScreen
    • ProfileScreen
    • RequestScreen
    • ConfirmScreen
    • ChatScreen

Firebase

  • Realtime Database
    • User can make authenticated requests to data from client
    • Allows direct integration for chat feature
  • Authentication
    • Uses JWT to securely authenticate users

NativeBase

  • Main source of cross-platform UI components

Gifted Chat

  • UI chat component for user to user communication

Yarn

  • Package manager

Installation instructions

  1. yarn install or npm install
  2. yarn start or npm start
  3. Install the Expo app
  4. Connect to the development server