Skip to content
forked from BO-Phoenix/PAGER

Cross platform ( iOS, Android ) mobile app allows users to join groups, discover upcoming events, make new friends and chat with fellow ravers, created with ReactNative, Firestore, Firebase, etc.

Notifications You must be signed in to change notification settings

palmigloo/PAGER

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Table of Contents

Project Description

Project Key Features

Backend API service

Technologies Used

Contributors

Project Description

PAGER is a social app for ravers to connect and share experiences. The app allows users to join groups, discover upcoming events, make new friends, and chat with fellow ravers. With PAGER, you can easily find like-minded people to attend events with, join groups based on your music preferences, and even plan your own events.

I collaborated with 6 other engineers created this app from conception to implementation, testing and deployment.

My main responsibilities in this project includes

  • Creation backend API services which supports 70% of platform's feature includes Homepage Module, All Group Module and Individual Group Module
  • UI Design + Improvement
  • Creation of detailed API documentation for frontend modules
  • Implementation of data binding and filter for Homepage Module
  • Tech lead for technical decision making and daily debugging

Project Key Features

Firebase Services

  • Our team decided to use Firebase as it offered a wide variety of services for our product that can be easily integrated in our application such as real-time databases using Firestore, login and register account pages using Firebase Authentication , Real-time chat messages using Cloud Messaging and the ability to upload photos using Cloud Storage.

Login

  • Utilized Firebase Authentication for user sign in and sign up
  • Managed authentication screen stack flow for global state for authenticated users
  • Sign up user and corresponding data points in Firebase Firestore with information and profile image

User Profile


  • Main page showing the details of the signed-in user
  • Expanded view of friends and music tastes
  • Edit page to edit music tastes and description

Homepage

  • Swipe cards displaying groups attending events. Swipe right to join or left to pass.
  • Card expanded view, showing additional information about the group.
  • Filter cards based on size and vibe.

Groups

All Groups

  • Tabular design to view a user’s upcoming and attended groups
  • Tab for user to create their own group and upload group images

Individual Groups

  • Overview of group details with members and brief schedule
  • Full schedule list where owner has the ability to add/delete plans
  • Each group has their own chatroom to discuss plans for their event within their group

Backend API service

This is an overview of the API services I created to support Homepage, All Groups and Individual Group Module

Groups & Chat:

  • Get all groups info for a specific event

    getGroupsPerEvent(event_id)

  • Get all the pending request for a specific group

    getPendingRequestPerGroup(group_id)

  • Get all member info for a specific group

    getGroupsPerUser(user_id)

  • Get all attended groups info for a specific user

    getGroupsAttendedPerUser(user_id)

  • Get all upcoming groups info for a specific user

    getGroupsUpcomingPerUser(user_id)

  • Get all members for a specific group

    getGroupMembers(group_id)

  • Create a new group with all the infos

    createGroup(formdata, organizer_id)

  • User requests to join a group

    sendRequestToGroup(user_id, group_id)

  • Group own invites friends to join his group

    invitePeopleToGroup(user_id, group_id)

  • Get all chat message for a specific group

    getChatMsgsPerGroup(group_id)

  • Add chat message for a specific group

    addChatMsg(formdata)

  • Approve a user's join request

    acceptInGroup(user_id, group_id)

  • Get schedule for a specific group

    getGroupPlans(group_id)

  • Add a new plan to the schedule for a specific group

    addPlan(group_id, form_data)

  • Delete a plan from schedule for a specific group

    deletePlan(group_id, plan_id)

Installation

To build and install all the dependencies

  npm install 

To start

 expo start

Technologies Used

Frontend

  • React Native
  • Redux
  • JavaScript

Backend

  • Firebase
    • Authentication
    • Firestore
    • Cloud Messaging
    • Cloud Storage

https://img.shields.io/badge/React%20Native-20232A?style=for-the-badge&logo=react&logoColor=61DAFB https://img.shields.io/badge/Node.js-43853D?style=for-the-badge&logo=node.js&logoColor=white https://img.shields.io/badge/Express.js-404D59?style=for-the-badge https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black https://img.shields.io/badge/CSS3-1572B6?style=for-the-badge&logo=css3&logoColor=white Firebase

Contributors

  • Abigail Li @palmigloo
  • Simon Buret de Longagne @SimonBdeL
  • Andrew Heim @andepants
  • Madeline King @maddieking02
  • Charlie Um @charlieum
  • Joshua Vilela @joshuavilela
  • Jeffrey Zhang @Jeffreyzhangsd

Abigail Simon Andrew Madelline Charlie Joshua Jeffrey

About

Cross platform ( iOS, Android ) mobile app allows users to join groups, discover upcoming events, make new friends and chat with fellow ravers, created with ReactNative, Firestore, Firebase, etc.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%