Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/umarsaeedalam/cashflow-dojo

Modern expense tracking application built with Next.js, featuring analytics, multi-currency support, and a sleek theme interface. Track, analyze, and master your financial habits. ๐Ÿ’ฐ
https://github.com/umarsaeedalam/cashflow-dojo

authjs mysql nextjs react shadcn-ui tailwind typescript vercel

Last synced: 11 days ago
JSON representation

Modern expense tracking application built with Next.js, featuring analytics, multi-currency support, and a sleek theme interface. Track, analyze, and master your financial habits. ๐Ÿ’ฐ

Awesome Lists containing this project

README

        

# Cashflow Dojo

A personal portfolio project that delivers a modern, intuitive expense tracking application. Cashflow Dojo helps users take control of their finances through comprehensive expense monitoring, detailed spending analysis, and actionable insights into financial habits - all wrapped in a sleek, user-friendly interface.

## ๐Ÿ“ธ Snippet

![Cashflow Dojo Overview](/public/og-image.png)

## โœจ Features

### Comprehensive Expense Management
- ๐Ÿงพ Easy expense entry with detailed categorization
- ๐Ÿ“‹ View, edit, and delete expense records
- ๐Ÿท๏ธ Diverse categorization system with 11 preset categories
- ๐Ÿ’ผ Multi-currency support with 18 major currencies

### Advanced Analytics
- ๐Ÿ“Š Interactive charts and visualizations
- ๐Ÿ“ˆ Monthly spending patterns analysis
- ๐ŸŽฏ Category-wise expense breakdown
- ๐Ÿ’ก Smart insights on spending habits

### User Experience
- ๐ŸŒ™ Modern, clean interface
- ๐Ÿ“ฑ Fully responsive design for all devices
- โšก Real-time updates and smooth transitions
- ๐Ÿ” Advanced filtering and sorting capabilities

### Security & Authentication
- ๐Ÿ”’ Secure authentication via Google and GitHub
- ๐Ÿ” Protected routes and data privacy
- ๐Ÿ‘ค Personalized user profiles

## ๐Ÿš€ Getting Started

### Prerequisites
- Node.js 18.0 or higher
- npm or yarn package manager
- A modern web browser

### Installation

1. Clone the repository:
```bash
git clone https://github.com/umarsaeedalam/cashflow-dojo.git
```
2. Navigate to the project directory:
```bash
cd cashflow-dojo
```
3. Install dependencies
```bash
npm install
# or
yarn install
```
4. Set up environment variables:
Create a `.env.local` file in the root directory and add the following variables:
```bash
# Auth Providers
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret

# Database
DATABASE_URL=your_database_url

# Auth
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_nextauth_secret
```
5. Run the development server
```bash
npm run dev
# or
yarn dev
```
6. Open http://localhost:3000 in your browser.

## ๐Ÿ› ๏ธ Tech Stack

### Frontend
- **Next.js** - React framework for production
- **React** - UI library
- **TypeScript** - Static typing
- **Tailwind CSS** - Utility-first CSS framework
- **shadcn/ui** - UI component library
- **Recharts** - Chart library for data visualization
- **React Hook Form** - Form handling
- **Zod** - Schema validation

### Authentication
- **NextAuth.js** - Authentication solution
- Support for Google and GitHub providers

### Development Tools
- ESLint - Code linting
- Prettier - Code formatting
- Husky - Git hooks
- PostCSS - CSS processing

## ๐Ÿ“ฑ Responsive Design

Cashflow Dojo is built with a desktop-first approach, ensuring a seamless experience across all devices:

## ๐ŸŽจ Customization

### Theme Configuration

The application uses a custom theme with the following color palette:

```css
:root {
--primary: #bde9c9;
--secondary: #2d8c47;
--accent: #ea5166;
--neutral: #fcf9e0;
}
```

## ๐Ÿ“ Project Structure

```
cashflow-dojo/
โ”œโ”€โ”€ src/
โ”‚ โ”œโ”€โ”€ app/ # Next.js app directory
โ”‚ โ”œโ”€โ”€ components/ # React components
โ”‚ โ”‚ โ”œโ”€โ”€ feature/ # Feature-specific components
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ analytics/ # Analytics page components
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ expenses/ # Expenses page components
โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ overview/ # Overview page components
โ”‚ โ”‚ โ”œโ”€โ”€ layout/ # Layout components
โ”‚ โ”‚ โ””โ”€โ”€ ui/ # Reusable UI components
โ”‚ โ”‚ โ”œโ”€โ”€ shadcn/ # Shadcn UI components
โ”‚ โ”œโ”€โ”€ fonts/ # Custom font files
โ”‚ โ”œโ”€โ”€ lib/ # Core utility functions
โ”‚ โ”œโ”€โ”€ styles/ # Styling files
โ”‚ โ””โ”€โ”€ utils/ # Helper functions
```

## ๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

1. Fork the repository
2. Create your feature branch (git checkout -b feature/AmazingFeature)
3. Commit your changes (git commit -m 'Add some AmazingFeature')
4. Push to the branch (git push origin feature/AmazingFeature)
5. Open a Pull Request

## ๐Ÿ“ง Contact

If you have any questions, feel free to reach out:

- Email: [email protected]
- LinkedIn: www.linkedin.com/in/umarsaeedalam