final capstone

App that tracks domestic power consumption. It can register measurements across rooms in the house. The main rooms are bedroom, study, garage, living, kitchen, and guests. Each measurement taken to these rooms will be then registered in a separate page with additional timestamp. The measurement will be accessible and will represent useful information on total power consuming, the available units left and what has been saved in percentages.

Contributors
Forks
Stargazers
Issues


Logo

Rails Api + React&Redux --> [Power Tracker]

This project is part of the Microverse curriculum in React module!
Explore the docs »

Report Bug · Request Feature

Table of Contents

About The Project

Final capstone based on a tracking app.
The project was built as a mobile web app first, meaning that the tablet and desktop design could present some inconsistencies.
The requirements can be found here 👈

The main functionality of the app is to track domestic power consumption. It can register measurements across rooms in the house.
The main rooms are bedroom, study, garage, living, kitchen, and guests.
Each measurement taken of these rooms will be then registered in a separate page with additional timestamp. The measurement will be accessible and will represent useful information on total power consuming, the available units left and what has been saved in percentages.

The main tasks the app can do for now are:

  • The user is required to register with name, email, password, monthly units available (i.e. 1800, 2100, 2400, 2700, 3000). Selected units will be divided by number of days in a month to derive daily quota, and also the target saving for power consumption (i.e. 5%, 10%, 15%, 20%, 25%) which will be calculated against total month consumption to see if target is met.
  • The user can log in by typing the mail and password
  • The user will be able to manually register for each room how much power is planning to consume.
  • The user can then access the page with measurements and check the progress of it within time.
  • Each measurement has a dedicated page with daily measurements of each room.

screenshot

Built With

This project was built using these technologies.

  • Rails
  • ReactJs
  • Redux
  • Postgresql
  • Heroku Buildpack
  • ES6
  • Node.js
  • ESLint
  • StyleLint
  • GithubActions 💪
  • Atom :atom:

Usage

To have this app on your pc, you need to:

  • download or clone this repo:

    • Clone with SSH:
      [email protected]:rammazzoti2000/final-capstone.git
    
    • Clone with HTTPS
      https://github.com/rammazzoti2000/final-capstone.git
    
  • In the project directory, you can run:

    • $ npm install && bundle install - installs all the dependencies required by the project

    • $ rake db:create && rails db:migrate to create and migrate the tables and build the database.

    • $ rails server - will run the local server.

      • Open http://localhost:3000 to view it in the browser.
      • For each changes in the project the page must be reloaded to view changes.
      • You will also see any lint errors in the console.

Automated Test

Open the terminal in the project’s root directory and run:

$ bundle exec rspec
  • the following output will be generated
    screenshot

Walkthrough Video and Deployment (Heroku)

https://www.loom.com/share/1c5885dd6d9d431fb676e7ff50467dca

Live Demo & Deployment

The project has been deployed with Heroku

Heroku Live Demo Link 👈

Contributors

👤 Alexandru Bangau

🤝 Contributing

Contributions, issues and feature requests are welcome!

Feel free to check the issues page.

Show your support

Give a ⭐ if you like this project!

Acknowledgements

📝 License

This project is MIT licensed.