ck3g / homebugh Goto Github PK
View Code? Open in Web Editor NEWExpense tracking web app
Home Page: http://homebugh.info
License: MIT License
Expense tracking web app
Home Page: http://homebugh.info
License: MIT License
test
It can be a great idea to have a demo account, so everyone can test drive the application without the need to register.
The demo account should have prepopulated data, and should "reset" the data once a day.
The demo account should not have the ability to change the password.
Sub-issues:
demo_user
column to users
Apparently, confirmation mail lacks encryption thus deemed by gmail as spam.
Render a Cookie Consent notice to a user at the top of the page.
Check the presence of the cookie_consent_accepted
cookie on every page load.
If the cookie does not exist, render the "Cookie Consent" popup at the top of the page.
The "Cookie Consent" popup should contain:
Clicking on the button creates a cookie_consent_accepted
cookie with the true
value.
Contributes to #33
Override Devise::RegistrationsController#update
and skip profile update when the current user is a demo_user
Contributes to #33
Demo account should not have the ability to change the password and the email
Replace Edit Profile form /users/edit
with the static text:
Email: <demo user Email>
Password: demo1234
The /users/edit
page should behave differently for demo users.
When the logged-in user (or current_user
) is a demo_user?
the edit profile should not let to update the email and password for that user. It can be done by making the form read-only, or by replacing the form with the text information.
When the logged-in user is a regular user (demo_user? == false
), the form should work as it works now. The user should be able to update the email and password.
demo_user
column to users
- Once implemented, will provide User#demo_user?
method.coffee-rails
gemtransactions.js.coffee
to vanila JSCreate a User Profile page.
/users/profile
URL.Migrate to the newest possible version of factory_bot_rails
.
Checkout Upgrade from factory_girl
guide.
Create a boolean show_in_summary
column in the accounts
table, with the default value of true
Contributes to #32
At the moment the balance of all accounts (on top of the page) displays funds from all the accounts.
There should be an option to hide some accounts from the balance overview.
show_in_summary
column in the accounts
table, with the default value of true
show_in_summary
value from create account page (/accounts/new
).show_in_summary
value on edit account page (/accounts/:id/edit
).show_in_summary == true
.There are certain transactions (payments) that are repeating from time to time. Some examples of those transactions are monthly internet bill, a Netflix subscription, etc.
Sometimes it's easy to forget some of these recurring payments, especially when there are a bunch of them at the moment.
The goal here is to remove the burden of keeping all these repetitive transactions in mind. The application has to provide a way to create a list of such transactions. That list can play the role of reminders. Also, based on that list the application can suggest filling in a recurring transaction when time is due.
RecurringPayment
modelnext_payment_on
fieldThere is an invalid link to Travis CI in the README file. The correct link is https://travis-ci.org/github/ck3g/homebugh
Contributes to #31
All static text related to recurring payments should be localized.
Create a model with the following fields:
title
: string, not nulluser_id
: int, not nullcategory_id
: int, not nullaccount_id
: int, not nullamount
: decimal, precision: 10, scale: 2, not nullfrequency_days
: int, not nullfrequency
: (int, not null, default 0) enum: "daily", "weekly", "monthly", "yearly"It's not needed with bcrypt
Recurring payments should have next_payment_on
DateTime column, to check the next payment date.
Contributes to #31
Contributes to #33
Add a boolean column demo_user
to the users
table with the default value of false
.
To optimize the user experience it can be converted to create recurring payments from existing transactions.
Clicking a button next to transaction should redirect a user to '/recurring_payments/new' and populate all fields.
Every Pull Request should run trigger Travis CI build and display the result.
Contributes to #33
Create a rake task to seed a demo account with dummy data.
A demo user should have the following data.
ArchiveTransactionsService#archive
for last day:
TBD
Contributes to #31
A user should be able to move an existing recurring payment to the next period by clicking a button.
The next period calculated from 'next_payment_on + frequency_amount * frequency'
Users (except demo) should be able to remove their accounts with all the data.
Create a "Delete User" page (GET /user/delete
).
The page should be accessible only for signed-in users.
The page should contain:
If the form is submitted with a valid password, the current user should be deleted from the database.
If the password is invalid the user should see the validation error message.
Update chartkick to the newest version.
Heads up: there are breaking changes between 2.0 and 3.0
Page URL: https://homebugh.info/users/edit
Add instructions describing how to configure the project on localhost for development. How to seed the DB etc.
Some people may want to use the application on their own hosting provider. It would be great to provide instructions on how to do that.
Add the step-by-step instructions on how to deploy and run the application on Heroku https://www.heroku.com
Suggest users to check spam filter:
If you do not receive the confirmation message within a few minutes, please check your spam or junk e-mail folder and mark the e-mail "not spam", which should allow future messages to get through.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.