Table of contents
Technologies
- Database and Related:
- MongoDB
- Robomongo
- Backend Technologies:
- Node.JS
- bcrypt-nodejs,
- body-parser,
- cors,
- currency-codes,
- currency-symbol-mapexpress,
- lodash,
- moment,
- money,
- mongoose,
- passport,
- passport-http,
- passport-local
- Express
- Node.JS
- Frontend Technologies:
- HTML,
- CSS + SASS,
- JavaScript
- Google Maps API
- Animate.css
- PhoneGap + Cordova
- cordova-plugin-whitelist,
- cordova-plugin-console,
- cordova-plugin-statusbar,
- cordova-plugin-device,
- cordova-plugin-splashscreen,
- ionic-plugin-keyboard
- Ionic v.1 + Angular v.1
- Gulp
- gulp-concat,
- gulp-sass,
- gulp-minify-css
- Bower
Project goal
At first, a user should register in the app; for registration functionality, I used a Basic Strategy by passport module, and after, he will be logged in. Password in the database will be bycrypted. So now we have logged the user with his account in the current app. And now starts the part where the whole magic happens. The user should add each expense and income, and then he will see them in the lists. He can also remove them. To see expenses and incomes in different periods, there is a period chooser. Users can choose the following periods: From the beginning of this year, from the beginning of the current month, from the beginning of this week, and today. When the user saves expenses or income in the list, he can see the name of the city where this action occurred; that is quite remarkable when somebody travels, he can easily track where he spent some money. In settings, the user can add budget action types. For example, if the user adds a type for an expense, the next time he wants to add an expense, he can easily add an expense using this type. By default, the app uses a standard type if there are no income and expense types. Users can choose any currency for their actions and set the default in Settings. The statistic screen is responsive for showing summary statistics by type or in common. All statistics can be chosen by different periods that were mentioned previously. The most exciting part of the project is group incomes and expenses. Users can create groups for budget actions and send invites to friends or family members. The user who created a group will have an ADMIN role by default. His friend or family member will see an invite on the Notification screen; he can accept or decline it. If he accepts, both users will see expenses and incomes done by each other. The group supports action budget types that were described previously. Both users can see summary results on the statistics page by type or in common for the current group. This feature is handy for people who want to start businesses, families, companies, etc.
Project look