Expensify app
⚠️ This project is archived and no longer supported. Associated Heroku deployment and Firebase DB have been removed.
Description
Expensify app that is developed in scope of Udemy The Complete React Developer Course (w/ Hooks and Redux) course.
Technologies
- React
- Redux
- Webpack
- Jest
- Babel
- Firebase
- SCSS
How to test and run app locally
git clone git@github.com:fabasoad/expensify-app.git
cd expensify-app
yarn install
yarn test
yarn run start:dev
Go to http://localhost:8080/ and be sure that app is running.
How to connect to the Firebase
- Create 2 new applications in Firebase (test and development).
- Turn on Google Authentication in each project.
- Create a Realtime-Database with the following rules in each project:
{
"rules": {
".read": false,
".write": false,
"users": {
"$user_id": {
".read": "$user_id === auth.uid",
".write": "$user_id === auth.uid",
/* Insert project specific fields validations here */
"$other": {
".validate": false
}
}
}
}
}
- Create 2 files in a root of a project with the following names:
.env.test
- contains database settings for automation tests purposes..env.development
- contains database settings for development purposes.
Example of .env.*
file:
FIREBASE_API_KEY="some-key"
FIREBASE_AUTH_DOMAIN="project-id.firebaseapp.com"
FIREBASE_DATABASE_URL="https://project-id.firebaseio.com"
FIREBASE_PROJECT_ID="project-id"
FIREBASE_STORAGE_BUCKET="project-id.appspot.com"
FIREBASE_MESSAGING_SENDER_ID="1234567890"
FIREBASE_APP_ID="app-id"
FIREBASE_MEASUREMENT_ID="some-id"
How to deploy to Heroku
- Install Heroku CLI.
- Run the following commands:
git clone git@github.com:fabasoad/expensify-app.git
cd expensify-app
heroku login
git remote add heroku https://git.heroku.com/fabasoad-expensify.git
git push heroku master
- Go to https://fabasoad-expensify.herokuapp.com/ and be sure that up-to-date version of an app is deployed.