DoughFin is a user-friendly financial management app designed to help individuals effortlessly track their income, categorize expenses, and create budgets. With DoughFin, managing your finances becomes intuitive, empowering you to make informed decisions about your money.
Income Tracking: Automatically track your income from various sources to see how much you're earning.
Expense Categorization: Automatically categorize your expenses for a clearer understanding of your spending habits.
Budget Creation: Set up personalized budgets to control your spending and achieve your financial goals.
Insightful Reports: Get detailed reports and insights into your financial health, helping you make better financial decisions.
Secure Account Linking: Safely link your bank account(s) for real-time transaction updates.
type Query {
user(id: ID!): User
users: [User]
incomeRecords(userId: ID!): [Income]
expenseRecords(userId: ID!): [Expense]
}
type User {
id: ID!
username: String!
email: String!
incomes: [Income]
expenses: [Expense]
}
type Income {
id: ID!
user: User!
source: String!
amount: Float!
date: String! # ISO 8601 Date format, could also use a custom DateTime scalar type
}
type Expense {
id: ID!
user: User!
category: String!
amount: Float!
date: String! # ISO 8601 Date format, could also use a custom DateTime scalar type
}
type Mutation {
createUser(username: String!, email: String!, password: String!): User
addIncome(userId: ID!, source: String!, amount: Float!, date: String!): Income
addExpense(userId: ID!, category: String!, amount: Float!, date: String!): Expense
# Add more mutations for updating and deleting records as needed
}
ensure you have rails@3.2.2
installed
ensure you have postgresql@14.0+
installed
exec bundle install
from project root
exec rails db:{drop,create,migrate}
to initiate database
exec rails dev:seed
to initiate dev seeds
exec rails server
to start local dev
exec bundle exec rspec
after you've installed the app.
Thank you to all the contributors who have helped shape DoughFin. Special thanks to our users for trusting us with their financial management needs.