A desktop application built with Electron and SQLite to help gigging musicians to track their income (eg. when is the gig and whether the payment has been received or not) and better organise their finance.
- Gig Management: Add, edit, and delete gigs
- Income Tracking: Track earnings with status updates (pending, completed, cancelled)
- Financial Analytics: View total earnings and income tracking
- Modern UI: Clean, responsive interface with real-time updates
- Local Storage: Data stored locally using SQLite database (no need to connect to the internet)
- Frontend: HTML5, CSS3, JavaScript (ES6+), React
- Backend: Node.js with better-sqlite3
- Desktop Framework: Electron
- Database: SQLite
Install from the file Gig Money Tracker Setup 1.0.0.exe.
(Ensured that Node.js is installed)
- Clone the repository:
git clone https://github.com/alexgoexercise/gig-money-tracker.git
cd gig-money-tracker- Install dependencies:
npm install- Start the application:
npm startFor development with DevTools enabled:
npm run devNote: Downloading Electron can take a WHILE.
id- Primary keytitle- Gig title/namedescription- Optional descriptionamount- Payment amountdate- Gig datestatus- Status (pending, completed, cancelled)created_at- Creation timestampupdated_at- Last update timestamp
gig-money-tracker/
├── main.cjs # Main Electron process
├── preload.cjs # Preload script for secure IPC
├── database.cjs # Database management module
├── package.json # Project configuration
├── package-lock.json # Dependency lock file
├── webpack.config.cjs # Webpack configuration
├── README.md # Project documentation
└── src/
├── index.html # Main HTML file
├── renderer.js # Entry point for renderer process
├── App.jsx # Root React component
├── styles.css # Global styles
└── components/
├── GigForm.jsx # Form for adding/editing gigs
├── GigList.jsx # List of gigs
├── Notification.jsx # Notification component
└── StatsGrid.jsx # Financial stats grid
- Adding a Gig: Fill out the form on the left side with gig details and click "Add Gig"
- Viewing Gigs: All gigs are displayed on the right side with their status and amount
- Editing Gigs: Click the "Edit" button on any gig to modify its details
- Deleting Gigs: Click the "Delete" button to remove a gig (with confirmation)
- Financial Overview: View your total earnings at the top
The application stores all data locally in a SQLite database file located in the user's application data directory:
- Windows:
%APPDATA%/gig-money-tracker/gig-money-tracker.db - macOS:
~/Library/Application Support/gig-money-tracker/gig-money-tracker.db - Linux:
~/.config/gig-money-tracker/gig-money-tracker.db
- Context isolation is enabled for security
- Database operations are handled through secure IPC channels
- No external network requests are made
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
ISC License