React Rails Redux
Capstone projects are solo projects at the end of the each of the Microverse Main Technical Curriculum sections. Building this project is very important for you because:
- It's a real-world-like project, built with business specifications that will look really nice in your portfolio; and
- You will get feedback about the achievement of technical and soft skills gained during this section of the program.
Requirements here.
A new Kickstart company; E-Leaf have recently developed an IOT Smart Meter that records consumption of electric energy. The said IOT device; E-Monitor is designed to be installed onto a resident's electrical circuit break.
Core features are;
a. Take energy measurements of various room. b. Communicates the information to cloud for monitoring. c. Keeps track of prepaid units and warns user when unit balance is running low.
E-Leaf have just released an open tender for a tracking mobile app. The tender calls for a basic proof of concept with the following hard requirements.
- The user logs in the app, only by typing the username and password.
- At early stages, the user is presented with a list of room energy consumption that can be manually recorded for now.
- After recording every room's unit consumption, user is take to page that list all readings.
- The user can access a room list with energy readings and track the consumption within time
- Apps design should follow this design
- User can seamlessly select and view individual day readings.
- App must be responsive, on both tablet and desktop versions, following given design guidelines.
- During sign up, users must input month purchased units (i.e. 1800, 2100, 2400, 2700, 3000). Selected units will be divided by numbers of days in a month to derive daily quota.
- During signup, users must input percentage of target savings (i.e. 5%, 10%, 15%, 20%, 25%). Selected target will be calculated against total month consumption to see if target is met.
- Node.js
- Rails
- Ruby
- React
- React-DOM
- Redux
- npm
- CSS
- ES6
- Webpack
- prop-types
- SweetAlert
Instructions here
- Facebook, Google and Microsoft OAuth
- Available units graph turn red at low levels
- Option to name and select number of rooms during registration
- Use slider bar for unit input
- Set up DB seed for 30 days for each users with randomized units
- Input validation; next button do not work if users do not key in an input
- Specific navbar button stays highlighted for each respective feature view
- Add user profile page
- Users can delete own reading entry
- Notification alert when availables units are low.
- Clone Repo by using this command 'git clone --branch feature https://github.com/geraldgsh/energy-tracker.git'.
- 'npm install' to install dependencies
- Follow this instruction for DB setup.
- Run 'rails db:migrate' to initialize
- Type
rails server
in terminal within root project folder. - Open http://localhost:3000 to view it in the browser.
Run the following command terminal for root folder
$ bundle exec rspec spec/models
.......
Finished in 0.26756 seconds (files took 2.63 seconds to load)
7 examples, 0 failures
Checkout wikipage for more details.
Web browser like Chrome, Mozilla or similar.
https://github.com/geraldgsh/energy-tracker
👤 Author
Github: geraldgsh
Twitter: geraldgsh
Linkedin: Gerald Goh
Contributions, issues and feature requests are welcome!
Feel free to check the issues page.
Give a ⭐️ if you like this project!
Design idea by Gregoire Vella on Behance.
- Hat tip to anyone whose code was used
- Inspiration
- etc
This project is MIT licensed.