Giter VIP home page Giter VIP logo

fancy-financey's Introduction

Financial Management App

This is a comprehensive financial management application that allows users to track their income, expenses, savings, investments, assets, bills, and financial goals. With an intuitive interface and powerful features, you can easily manage your personal finances and work towards your financial objectives.

Features

  • Dashboard overview of your financial status
  • Income tracking with detailed source information
  • Expense management categorized by type
  • Savings tracker with easy update functionality
  • Investment portfolio management
  • Asset tracking and valuation
  • Bill management with due date reminders
  • Goal setting and progress tracking
  • Customizable categories for various financial entries
  • Data visualization for better financial insights

Getting Started

Follow these steps to set up the project on your local machine:

  1. Clone the repository

    git clone <repository-url>
    cd <repository-name>
  2. Install dependencies

    npm install
  3. Set up environment variables

    .env.example .env

    Open the .env file and fill in the necessary variables.

  4. Create and set up the database

    • Install PostgreSQL if not already installed
    • Create a new database with a database provider
  5. Run database migrations

    npm prisma migrate
  6. Start the development server

    npm run dev

The application should now be running at http://localhost:3000.

Technologies

This project uses the T3 Stack:

Additional libraries:

Project Structure

  • components/: Reusable React components
  • pages/: Next.js pages and API routes
  • server/: Server-side code, including tRPC routers
  • utils/: Utility functions and helpers
  • types/: TypeScript type definitions

Key Components

  • Outline.tsx: Main dashboard component
  • Nav.tsx: Navigation component
  • IncomeCard.tsx, ExpenseCard.tsx, etc.: Individual financial entry components
  • IncomeForm.tsx, ExpensesForm.tsx, etc.: Forms for adding new financial entries

API Routes

The application uses tRPC for type-safe API routes. Key routers include:

  • income.ts
  • expenses.ts
  • savings.ts
  • investments.ts
  • assets.ts
  • bills.ts
  • goals.ts

Database Schema

The database schema is defined in prisma/schema.prisma and includes models for User, Income, Expense, Savings, Investment, Asset, Bill, and Goal.

Authentication

This app uses NextAuth.js for authentication, supporting the Google provider.

Versioning

Project versioning follows Semantic Versioning and is tracked using GitHub Releases.

Contributing

Please read our contributing guidelines before submitting pull requests.

For more detailed information about the project, please refer to the documentation or me.

fancy-financey's People

Contributors

owenmccomas avatar

Watchers

 avatar

fancy-financey's Issues

Add categories as ENUM for prisma schema

We should have the categories set to expenses, unless we want to allow the user to build out their own categories. We can set a prisma enum like so:

ENUM budget_categories {
"Groceries",
"Rent",
"Bills"
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.