Skip to content

Fiskalio is a personal finance management application built with Next, Convex, and Clerk that helps users track and organize their bills across multiple properties. The app features secure credential storage, monthly bill tracking with due dates, and a clean responsive UI with dark/light theme support for managing your financial obligations.

License

Notifications You must be signed in to change notification settings

marinactonci/Fiskalio

Repository files navigation

Fiskalio πŸ“Š

A comprehensive bill tracking and management application for modern households and properties.

Fiskalio is a full-stack web application that helps you organize, track, and manage bills across multiple properties or profiles. Whether you're managing utilities for different apartments, tracking household expenses, or organizing business bills, Fiskalio provides an intuitive interface with powerful analytics and calendar views.

✨ Features

🏠 Profile Management

  • Create and manage multiple profiles (properties, households, etc.)
  • Customize each profile with colors and address information
  • Track bill statistics and payment performance per profile

πŸ“„ Bill Tracking

  • Add bills to specific profiles with optional e-bill information
  • Create monthly bill instances with amounts, due dates, and descriptions
  • Mark bills as paid/unpaid with automatic overdue detection
  • Support for e-bill credentials (username, password, links)

πŸ“… Calendar View

  • Visual monthly calendar showing all bill instances
  • Color-coded bills by profile with payment status indicators
  • Filter by profile or payment status (all/paid/unpaid)
  • Quick edit functionality directly from calendar view
  • Overdue bill highlighting

πŸ“ˆ Analytics & Dashboards

  • Profile Dashboard: Payment performance, monthly trends, top bills by amount
  • Bill Dashboard: Instance statistics, financial summaries, current month highlights
  • Real-time statistics with paid/unpaid/overdue counts
  • Monthly comparison and change tracking

🎨 Modern UI/UX

  • Beautiful, responsive design with dark/light mode support
  • Gradient text headers and smooth animations
  • Card-based layouts with hover effects
  • Intuitive navigation and breadcrumbs

πŸ› οΈ Tech Stack

Frontend

Backend & Database

  • Convex - Real-time backend platform

  • Real-time queries and mutations

  • Automatic type generation

  • Built-in authentication integration

  • Clerk - Complete authentication solution

  • User management and session handling

  • Secure JWT token validation

Development Tools

πŸ—οΈ Project Structure

β”œβ”€β”€ app/                          # Next.js App Router
β”‚   β”œβ”€β”€ _components/             # Shared app components
β”‚   β”œβ”€β”€ bill/[id]/              # Individual bill pages
β”‚   β”‚   └── _components/        # Bill-specific components
β”‚   β”œβ”€β”€ calendar/               # Calendar view
β”‚   β”‚   └── _components/        # Calendar components
β”‚   β”œβ”€β”€ profile/[id]/           # Profile pages
β”‚   β”‚   └── _components/        # Profile-specific components
β”‚   β”œβ”€β”€ globals.css             # Global styles
β”‚   β”œβ”€β”€ layout.tsx              # Root layout
β”‚   └── page.tsx                # Home page
β”œβ”€β”€ components/                  # Reusable UI components
β”‚   β”œβ”€β”€ ui/                     # Shadcn/ui components
β”‚   β”œβ”€β”€ ConvexClientProvider.tsx # Convex provider
β”‚   β”œβ”€β”€ Navbar.tsx              # Navigation component
β”‚   └── ThemeProvider.tsx       # Theme provider
β”œβ”€β”€ convex/                     # Backend logic
β”‚   β”œβ”€β”€ _generated/             # Auto-generated types
β”‚   β”œβ”€β”€ auth.config.ts          # Authentication config
β”‚   β”œβ”€β”€ billInstances.ts        # Bill instance queries/mutations
β”‚   β”œβ”€β”€ bills.ts                # Bill queries/mutations
β”‚   β”œβ”€β”€ profiles.ts             # Profile queries/mutations
β”‚   β”œβ”€β”€ schema.ts               # Database schema
β”‚   └── crons.ts                # Scheduled functions
β”œβ”€β”€ hooks/                      # Custom React hooks
β”œβ”€β”€ lib/                        # Utility functions
β”œβ”€β”€ schemas/                    # Validation schemas
└── package.json                # Dependencies and scripts

πŸš€ Getting Started

Prerequisites

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/fiskalio.git
    cd fiskalio
  2. Install dependencies

    npm install
  3. Set up Convex

    npx convex dev

    Follow the prompts to create a new Convex project.

  4. Set up Clerk Authentication

    • Create a new Clerk application
    • Copy your Clerk Publishable Key and Secret Key
    • Follow the Convex Clerk integration guide
    • Uncomment the Clerk provider in convex/auth.config.ts
    • Add CLERK_JWT_ISSUER_DOMAIN to your Convex environment variables
  5. Start the development server

    npm run dev

The app will be available at http://localhost:3000.

πŸ“– Usage

Creating Your First Profile

  1. Sign up/login using Clerk authentication
  2. Create a new profile (e.g., "Main Apartment", "Summer House")
  3. Add address and choose a color for easy identification

Adding Bills

  1. Navigate to a profile
  2. Add bills with names and optional e-bill information
  3. Create monthly instances with amounts and due dates

Calendar Management

  1. Use the calendar view to see all bills at a glance
  2. Filter by profile or payment status
  3. Click on bills to quickly edit or mark as paid

Analytics

  • View profile dashboards for payment performance insights
  • Track monthly trends and spending patterns
  • Monitor overdue bills and payment rates

🎯 Key Features Explained

Bill Instances

Bills in Fiskalio work through a pattern of templates and instances:

  • A Bill is the template (e.g., "Electricity Bill")
  • A Bill Instance is the monthly occurrence with specific amount and due date
  • This allows tracking the same bill type across multiple months

E-Bill Integration

Store credentials for online bill portals:

  • Website links for quick access
  • Username/password storage (encrypted)
  • Quick access to pay bills online

Smart Calendar

  • Color-coded by profile for easy identification
  • Visual status indicators (paid/unpaid/overdue)
  • Monthly navigation with quick edit capabilities

🀝 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.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ”— Links

About

Fiskalio is a personal finance management application built with Next, Convex, and Clerk that helps users track and organize their bills across multiple properties. The app features secure credential storage, monthly bill tracking with due dates, and a clean responsive UI with dark/light theme support for managing your financial obligations.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •