Skip to content

franck-noahk/senior-seminar-project

Repository files navigation

E Bulletin

This repository uses Firebase to handel the backend, and Flutter to compile code to iOS & Android.

Getting Started

If you want to take this as a starting point

  • Install flutter Follow these steps
  • After you fork the repo continue by removing /.firebaserc and /firebase.json
  • Install Firebase Command Line Tools through npm Detailed instructions
  • In the commandline / terminal navigate to this repository
  • run firebase login and go through the steps to sign in
  • run Firebase init You need to select hosting, firestore, & functions
  • Then select make new project
  • This project uses default locations for Hosting, and Firestore, & we wrote our functions in Javascript, but Typescript is prefered.
  • run firebase Deploy to push everything up to the cloud and your ready to go.

Resources that are usefull

Flutter

Firebase -- Firestore

How Flutter Lib is layed out

.
├── backend
│   └── firebase.dart	//Interface to interact with Firebase
├── constants.dart		//Values that are needed across multiple files 
├── main.dart			//Starting point of application & wrapper for authentication
├── models
│   └── user.dart		//User object uid is based on authentication	
└── widgets
    ├── layout
    │   ├── SettingsLayout.dart			//settinga spage in app, 'settings' tab
    │   ├── UpCommingEventsList.dart	//default page in app, 'events' tab
    │   └── loading.dart				//Loading page that is called when getting information from internet
    └── pages
        ├── SignIn.dart				//Page called when user is not signed in
        ├── eventDetailPage.dart	//Page called when user taps on an event
        ├── makeEvent.dart			//Page called when an admin pushes the Floating action button
        └── register.dart			//Page called when the signed out user wishes to create an acount

Firestore data layout

├── events
│   └── ex_event
│   	├── event_time:DateTime
│   	├── location:string
│   	├── name:string
│       └────response (SubCollection of each event created as needed)
│            └── rsvp
│               └── {Users_uid: String}: isComming | isNotComming | if null default to isNotComming
├── orginazations
│   └── ex_org
│   	├── adminUsers:{users_uuid}
│   	├── facultySponsor:String
│   	├── facultySponsorEmail:String
│   	├── name:string
│       └── full_name: String
└── users
     └── ex_usr
    	├── displayName:string
    	├── email:string
    	├── following:String array
    	├── isAdmin:bool
    	└── isAdminOf:String

Firebase -- Functions

Bootstrap Web Framework

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •