Ynab is a personal finance app designed to help you manage your money better by budgeting upwards and maintaining financial discipline. This application allows you to track your income and expenses, set a default currency for transactions, create and manage categories, and view transaction history within a specified date range.
- Transaction Management: Add, edit, and delete transactions with ease. View your transaction history filtered by date range.
- Budgeting: Categorize your income and expenses to maintain a disciplined budget. Create custom categories for better organization.
- Currency Settings: Set and manage your default currency for all transactions.
- Date Range Picker: Easily select and view transactions within a specific date range.
- Data Export: Export your transaction history to CSV format for offline access and analysis.
- Node.js (v14 or higher)
- pnpm(v8 or higher) or npm (v6 or higher) or Yarn (v1.22 or higher)
- PostgreSQL (or any other SQL database)
-
Clone the repository:
git clone https://github.com/yourusername/ynab.git cd ynab
-
Install dependencies:
pnpm install # or npm install # or yarn install
-
Set up the environment variables. Create a
.env
file in the root directory and add the following:NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY= CLERK_SECRET_KEY= NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/ NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/onboarding
-
SQlite prisma settings
provider = "sqlite" DATABASE_URL="file:./dev.db"
-
Run the database migrations:
npx prisma migrate dev
-
Start the development server:
pnpm dev # or npm run dev # or yarn dev
-
Open your browser and navigate to
http://localhost:3000
.
For deploying the app to production, follow the documentation of your preferred hosting service (Vercel, Netlify, Heroku, etc.). Make sure to set the necessary environment variables in your hosting service's dashboard.
Contributions are welcome! If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.
- Fork the repository.
- Create your feature branch (
git checkout -b feature/new-feature
). - Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/new-feature
). - Create a new Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.
For any inquiries or feedback, please contact us at mailfor.lalitsharma@gmail.com.
Happy Budgeting! 🚀