Skip to content

A modern, high-performance personal ledger application designed to help you track transactions, manage debts (lent/borrowed), and keep on top of your finances with ease. Built with a focus on speed, mobile experience, and automation.

Notifications You must be signed in to change notification settings

creatifying/ledger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ledger - Personal Finance Manager

A modern, high-performance personal ledger application designed to help you track transactions, manage debts (lent/borrowed), and keep on top of your finances with ease. Built with a focus on speed, mobile experience, and automation.

Ledger Dashboard Screenshot

✨ Key Features

  • ⚡ Single Page Application (SPA): Validated smooth navigation without full page reloads, providing a native-app feel on the web.
  • 📱 Mobile-First Experience: Optimized for touch with bottom-sheet drawers, haptic feedback, and responsive layouts.
  • 👥 People Management: Track who owes you money and who you owe.
  • 💸 Transaction Tracking: Log 'Lent', 'Received', 'Paid', and 'Got Paid' transactions with ease.
  • 🤖 Telegram Automation:
    • Daily Summaries: Get a financial recap sent to your Telegram every morning.
    • Due Reminders: Automatic notifications for upcoming or overdue payments.
  • 📊 Reports: Visualize your cash flow and net balance.

🛠 Tech Stack

  • Backend: PHP 8.0+ (Vanilla, no heavy frameworks)
  • Database: MySQL / MariaDB
  • Frontend:
    • JavaScript (Vanilla + jQuery for DOM)
    • TailwindCSS (Styling)
    • History API (SPA Navigation)
  • Server: Apache / Nginx

🚀 Installation

  1. Clone the repository:

    git clone https://github.com/creatifying/ledger.git
    cd ledger
  2. Database Setup:

    • Create a new MySQL database (e.g., daybook).
    • Import the schema from database/schema.sql.
  3. Configuration:

    • Rename config/config.example.php to config/config.php (if applicable) or ensure database credentials in config/database.php match your local environment.
  4. Web Server:

    • Point your document root to the project directory.
    • Ensure mod_rewrite is enabled if using Apache (for .htaccess).

⚙️ Usage & Automation

Telegram Setup

  1. Go to Settings.
  2. Enter your Bot Token (from @BotFather) and Chat ID (from @userinfobot).
  3. Click Save.
  4. Important: Start a chat with your bot on Telegram for it to work!

Automation (Cron Job)

To enable daily summaries and reminders, add this to your server's crontab (crontab -e):

# Run Ledger Cron Tasks everyday at 9:00 AM
0 9 * * * /usr/bin/php /path/to/ledger/scripts/cron_tasks.php >> /path/to/ledger/cron.log 2>&1

📜 License

This project is open-source and available under the MIT License.


Created with ❤️ by Creatifying

About

A modern, high-performance personal ledger application designed to help you track transactions, manage debts (lent/borrowed), and keep on top of your finances with ease. Built with a focus on speed, mobile experience, and automation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published