This is the user facing app for the flight simulator. It controls the system and shows basic status information.
- vue.js: main framework
- Firebase Firestore: the database
- Vuetify: material design library for vue.js
- Create a
project.config.jsfile under/uiwith the content:
// Required to run the app.
export const BACKEND_URL = ; // e.g. http://192.168.1.1:8080 or http://localhost:8000
export const FIREBASE_CONFIG = ; // The firebase config object. https://firebase.google.com/docs/web/setup
export const HAS_BADGE_READER = ; // A boolean value. If false, we show a button to start.
// Optional - for the calendar feature.
export const CLIENT_ID = ; // Google Cloud OAuth client id
export const API_KEY = ; // Google Cloud project API key
export const CALENDAR_ID = ; // Calendar ID. (You can find it in Google Calendar settings.)
- Update the
BACKEND_URLinproject.config.js. - Set up Firebase project.
- Create a Firebase project.
- Enable Database -> Firestore.
- From Firebase console page: Add app -> Web. Copy the config object into
project.config.js. - Set up Calendar access. (Optional)
- Open Google Cloud and open the project you created in Firebase.
- APIs & Services -> API library. Enable the Google Calendar API.
- APIs & Services -> Credentials. Create an API key and an OAuth client ID (Web client).
- Copy the API key and the ClientId to
project.config.js. - Update
CALENDAR_IDinproject.config.js. - Set up bug reporting. (Optional)
- Update the TO_EMAIL and FROM_EMAIL in
/functions/index.js.
# install dependencies
npm install
# run locally
npm start- Init the app using firebase CLI.
- Update the CONTACT_EMAIL in
/functions/index.js. - Build the bundle by
npm run build. - Deploy the cloud function by
firebase deploy --only functions. - Optionally, you can deploy the app, and visit yourdomain.com/docs to view the checklists.
known_issues: A list of issues. Each document has one field -title. There's a special documentuser_input, which gets updated by the user.feedbacks: A list of feedbacks. Each document has four fields -rating,text,timestamp,isArchived.logs: A list of logs. Each document has three fields -action,isError,timestamp.