Everest is an ePortfolio system aimed at students and professionals looking for a platform to show off and reflect on their achievements. It's an app built using React, Redux and Firebase that supports user sign-in, file upload, template switching and profile sharing.
Link to the deployed product can be found here.
Link to an example project created using Everest can be found here.
An architecture diagram can be found here
Back-end functions documentation can be found here
Data model documentation used in the in app can be found here
A deployment architecture diagram can be found here
A style guide for the current templates can be found here
The app uses Node 10+, Firebase, React and Redux as it's main dependancies, these must be installed on the machine before the app can be run.
As indicated in the deployment architecture diagram the application is automatically deployed through Travis CI to a firebase project used for the development of the demo.
In order to deploy the project to a custom firebase project, a new firebase project must be set up with the app added in the firebase console.
Several files within the app will need to be updated with the new project's information, namely:
- Front-End/everest/src/Firebase.js
- .firebaserc
Next, ensure firebase-tools are installed and configured using npm install firebase-tools -g
and firebase login
Following this, deployment can be made to firebase by running firebase deploy
in the root directory.
This is the documention for how to made a deployment this way using the Firebase CLI.
Installing dependancies requires npm to be installed on the local machine.
Running npm install
in the root directory will install all dependancies for the backend and front end application for local testing.
Running npm start
in the root directory will install all dependancies and start a local emulator for testing purposes.
Running npm test
will run a suite of tests on the back-end firestore functions using firebase emulators, a valid google cloud (Firebase) service account key will need to be present in the /functions
directory under the title serviceAccountKey.json
for the tests to run successfully.
Please take a look at the wiki for more details about architecture, deployment, features and requirements.