fabasoad / expensify-app

It's time to get your expenses under control :wink: React, Redux, Webpack, Jest, SCSS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Expensify app

⚠️ This project is archived and no longer supported. Associated Heroku deployment and Firebase DB have been removed.

CI Security Tests Total alerts Language grade: JavaScript Maintainability Test Coverage Code Climate issues Code Climate technical debt Known Vulnerabilities GitHub repo size

Description

Expensify app that is developed in scope of Udemy The Complete React Developer Course (w/ Hooks and Redux) course.

Technologies

  1. React
  2. Redux
  3. Webpack
  4. Jest
  5. Babel
  6. Firebase
  7. 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

About

It's time to get your expenses under control :wink: React, Redux, Webpack, Jest, SCSS

License:MIT License


Languages

Language:JavaScript 90.4%Language:SCSS 8.2%Language:HTML 0.7%Language:Shell 0.7%