Project Report - A Personal Finance Management App
Project Report - A Personal Finance Management App
Project Report - A Personal Finance Management App
Mone
y
Matte
rs: A
Perso
nal
Finan
ce
Mana
geme
nt
App
1. INTRODUCTION
1.1 Overview
The Money Matters allows users to track the personal budgets on a daily,
weekly or monthly basis. The app should have user - friendly interfaces, easy-to-use
1.2Purpose
The app allows user to keep track of their expenses and accounts, and
provides an overview of their financial status. Users can set a budget for various
2.1Empathy Map
Login Page
Register Page
Main Page
Add Expenses Page
Set Limit Page before adding any data in expenses
View Records Page
Set Limit Page After adding expenes in add expense page
4 ADVANTAGES & DISADVANTAGES
4.1Advantages
4.2Disadvantages
A personal finance app can help track your spending, saving, investing and bill
We can connect personal finance apps to our financial institutions to see where
6 CONCLUSION
As the pieces of commodities are skyrocketing, we need to plan our expenses to stay
afloat. Also, checking your income and expenditures in essential to stay ahead of the
tide.
The app allows user to keep track of their expenses and accounts, and provides an
overview of their financial status. The project has options to add expenses, set the limits
The Money Matters app can be further improved by adding more features on the financial
management of an individual. The App should be able to advise on investment strategies, debt
management and offer personalized finance solutions. It should help consumers stay on top of
their credit scores by creating an app that provides real-time updates on their credit scores.
8 APPENDIX
// User.kt
package com.example.expensestracker
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.PrimaryKey
@Entity(tableName = "user_table")
// UserDao.kt
package com.example.expensestracker
import androidx.room.*
@Dao
interface UserDao {
@Insert(onConflict = OnConflictStrategy.REPLACE)
@Update
@Delete
// UserDatabase.kt
package com.example.expensestracker
import android.content.Context
import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase
companion object {
@Volatile
context.applicationContext,
UserDatabase::class.java,
"user_database"
).build()
instance = newInstance
newInstance
// UserDatabaseHelper.kt
package com.example.expensestracker
import android.annotation.SuppressLint
import android.content.ContentValues
import android.content.Context
import android.database.Cursor
import android.database.sqlite.SQLiteDatabase
import android.database.sqlite.SQLiteOpenHelper
companion object {
"$COLUMN_PASSWORD TEXT" +
")"
db?.execSQL(createTable)
}
override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int,
newVersion: Int) {
onCreate(db)
val db = writableDatabase
values.put(COLUMN_FIRST_NAME, user.firstName)
values.put(COLUMN_LAST_NAME, user.lastName)
values.put(COLUMN_EMAIL, user.email)
values.put(COLUMN_PASSWORD, user.password)
db.close()
@SuppressLint("Range")
val db = readableDatabase
user = User(
id =
cursor.getInt(cursor.getColumnIndex(COLUMN_ID)),
firstName =
cursor.getString(cursor.getColumnIndex(COLUMN_FIRST_NAME)),
lastName =
cursor.getString(cursor.getColumnIndex(COLUMN_LAST_NAME)),
email =
cursor.getString(cursor.getColumnIndex(COLUMN_EMAIL)),
password =
cursor.getString(cursor.getColumnIndex(COLUMN_PASSWORD)),
cursor.close()
db.close()
return user
@SuppressLint("Range")
val db = readableDatabase
user = User(
id =
cursor.getInt(cursor.getColumnIndex(COLUMN_ID)),
firstName =
cursor.getString(cursor.getColumnIndex(COLUMN_FIRST_NAME)),
lastName =
cursor.getString(cursor.getColumnIndex(COLUMN_LAST_NAME)),
email =
cursor.getString(cursor.getColumnIndex(COLUMN_EMAIL)),
password =
cursor.getString(cursor.getColumnIndex(COLUMN_PASSWORD)),
cursor.close()
db.close()
return user
@SuppressLint("Range")
val db = readableDatabase
val cursor: Cursor = db.rawQuery("SELECT * FROM
$TABLE_NAME", null)
if (cursor.moveToFirst()) {
do {
id =
cursor.getInt(cursor.getColumnIndex(COLUMN_ID)),
firstName =
cursor.getString(cursor.getColumnIndex(COLUMN_FIRST_NAME)),
lastName =
cursor.getString(cursor.getColumnIndex(COLUMN_LAST_NAME)),
email =
cursor.getString(cursor.getColumnIndex(COLUMN_EMAIL)),
password =
cursor.getString(cursor.getColumnIndex(COLUMN_PASSWORD)),
users.add(user)
} while (cursor.moveToNext())
cursor.close()
db.close()
return users
}
}