{"id":18658386,"url":"https://github.com/jeepway/moneytracker","last_synced_at":"2026-02-16T13:02:32.827Z","repository":{"id":238513316,"uuid":"796715237","full_name":"JeepWay/MoneyTracker","owner":"JeepWay","description":"The money tracker is a  java window application project to store, query, update, delete, and statistically analyze incomes and expenses record.","archived":false,"fork":false,"pushed_at":"2024-08-22T03:47:53.000Z","size":821,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-07T16:43:45.178Z","etag":null,"topics":["crud","crud-application","desktop-application","java","java-swing-applications","java-swing-project","money-manager","money-tracker","mvc","mvc-pattern","mysql"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JeepWay.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-06T13:47:05.000Z","updated_at":"2024-12-10T14:14:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"3af3e8aa-394e-4aa2-953d-fb8b41497723","html_url":"https://github.com/JeepWay/MoneyTracker","commit_stats":null,"previous_names":["jeepway/moneytracker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JeepWay/MoneyTracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeepWay%2FMoneyTracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeepWay%2FMoneyTracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeepWay%2FMoneyTracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeepWay%2FMoneyTracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JeepWay","download_url":"https://codeload.github.com/JeepWay/MoneyTracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeepWay%2FMoneyTracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29508738,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T09:05:14.864Z","status":"ssl_error","status_checked_at":"2026-02-16T08:55:59.364Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crud","crud-application","desktop-application","java","java-swing-applications","java-swing-project","money-manager","money-tracker","mvc","mvc-pattern","mysql"],"created_at":"2024-11-07T07:32:42.456Z","updated_at":"2026-02-16T13:02:32.810Z","avatar_url":"https://github.com/JeepWay.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MoneyTracker\n* A java window application project.\n* Record income and expenses.\n* Use MVC pattern.\n* Support CRUD operations.\n\n![login.png](figure/login.png)\n\n## About\nAn easy-to-use money tracking window application where users can log in, register, record incomes and expenses, view/search/filter/modify financial records and view financial summaries according to the selected year and month.\n\n\n## Software And Tools Required \n* Java\n* Apache Maven \n* MySQL Server\n* MySQL Workbench\n* Eclipse EE or Visual Studio Code\n\n\n## Run In Eclipse EE\n1. Download development tool\n    * IDE: [Eclipse EE](https://www.eclipse.org/downloads/packages/release/kepler/sr2/eclipse-ide-java-ee-developers)\n    * Database: [MySQL](https://www.mysql.com/downloads/)\n2. Open Eclipse EE.\n3. Clone this repository\n    * Click On File \u003e Import \u003e Git \u003e Projects From Git(with smart import) \u003e Next\n    * Clone URI \u003e Next \u003e Paste `https://github.com/JeepWay/MoneyTracker.git` in URI \u003e Next\n    * Select master Branch \u003e Next \u003e Select Destination Directory \u003e Next\n    * Ckeckout Import Source \u003e Finish\n4. Create MySQL database\n    * Open MySQL Command Prompt or MySQL Workbench\n    * Login to the administrator user as : `mysql -u \u003cadminusername\u003e -p`\n    * Enter Password if asked\n    * Copy paste the MySQL commands in [`setup/CreateUsers.sql`](/setup/CreateUsers.sql) and [`setup/CreateRecords.sql`](/setup/CreateRecords.sql) to the Prompt\n    * Make sure you have get response after enter the commands, e.g., search user \n5. Configure MySQL\n    * Open `src/main/resources/application.properties` file\n    * Modify the value of database details according to your installed MySQL admin user setting. db.name is refer to the database of this project, which is default to `moneytracker`.\n6. Build project\n    * Right Click on Project \u003e Maven \u003e Update Project... \u003e Click Force Update \u003e Select moneytracker \u003e OK\n    * Right Click on Project \u003e Run as \u003e Maven Build \u003e Paste `clean install` in the goals field \u003e apply \u003e run\n    * Check the output in console and make ensure success build.\n7. Run application\n    * Right Click on Project \u003e Run as \u003e Maven Build \u003e Paste `exec:java` in the goals field \u003e apply \u003e run\n    * For simplicity, you can just open terminal, then paste `mvn exec:java` command \n8. Login\n    * The default username and password is `demo` and `8888`\n    * If you want to create the new user, just click signup page to create new user information\n\n\n## Run In Visual Studio Code\n1. Download development tool\n    * IDE: [Visual Studio Code](https://code.visualstudio.com/download)\n    * Database: [MySQL](https://www.mysql.com/downloads/)\n2. Clone this repository\n    * Open terminal \n    * Paste `git clone https://github.com/JeepWay/MoneyTracker.git` in terminal\n    * `cd MoneyTracker` \n3. Create MySQL database\n    * Open MySQL Command Prompt or MySQL Workbench\n    * Login to the administrator user as : `mysql -u \u003cadminusername\u003e -p`\n    * Enter Password if asked\n    * Copy paste the MySQL commands in [`setup/CreateUsers.sql`](/setup/CreateUsers.sql) and [`setup/CreateRecords.sql`](/setup/CreateRecords.sql) to the Prompt\n    * Make sure you have get response after enter the commands, e.g., search user \n4. Configure MySQL\n    * Open `src/main/resources/application.properties` file\n    * Modify the value of database details according to your installed MySQL admin user setting. db.name is refer to the database of this project, which is default to `moneytracker`.\n5. Build project\n    * Paste `mvn clean install` in terminal\n    * Check the output of `mvn clean install` and ensure success build.\n6. Run application\n    * Paste `mvn exec:java` in terminal\n7. Login\n    * The default username and password is `demo` and `8888`\n    * If you want to create the new user, just click signup page to create new user information\n\n## Code tree \n```bash\n├── java.com.jeepway\n|   ├── constant\n|   |   ├── CommonConstants.java\n|   |   ├── DBConstants.java\n|   |   ├── RecordConstants.java\n|   |   ├── UserConstants.java\n|   ├── control\n|   |   ├── HomePage.java\n|   |   ├── LoginPage.java\n|   |   ├── PanelCardAddExpense.java\n|   |   ├── PanelCardAddIncome.java\n|   |   ├── PanelCardDashBoard.java\n|   |   ├── PanelCardHistory.java\n|   |   ├── SignupPage.java\n|   |   ├── SwingCalendar.java\n|   ├── model\n|   |   ├── Record.java\n|   |   ├── User.java\n|   ├── utils\n|   |   ├── DBConnection.java\n|   |   ├── DBRecordsService.java\n|   |   ├── DBUserService.java\n|   ├── view\n|   |   ├── HomePageUI.java\n|   |   ├── LoginPageUI.java\n|   |   ├── PanelCardAddExpenseUI.java\n|   |   ├── PanelCardAddIncomeUI.java\n|   |   ├── PanelCardDashBoardUI.java\n|   |   ├── PanelCardHistoryUI.java\n|   |   ├── SignupPageUI.java\n├── resources\n|   ├── icon\n|   |   ├── *.png\n|   ├── application.properties\n```\n\n`model` folder contains the encapsulation of users and records tables in database.\n\n`view` folder contains UI files constructed with [WindowBuilder](https://eclipse.dev/windowbuilder/) plug-in.\n\n`control` folder contains the controller implementation of UI files, e.g., add ActionListener, MouseListener, call methods in `utils` folder to get data from database and then display on UI.\n\n`utils` folder contains the methods to connect to MySQL database. These methods are accessible for controller call to get data from database.\n\n`constant` folder contains some constant variables frequently used.  \n\n\n## Application Tour\nYou can see the traditional chinese tour in [here](https://hackmd.io/@ORAzzQWQ10/BJXwQZWIh).\n\nFurthermore, you can also click the question marks in window application which is linked to the the traditional chinese tour.\n\nIf your are familiar with english, we also provide the english version of the tour in [`MoneyTrackerTour.en-US.md`](MoneyTrackerTour.en-US.md)\n\n## Application Snapshot\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"figure/login.png\" alt=login.png width=100%\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"figure/signup.png\" alt=signup.png width=100%\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"figure/dashboard.png\" alt=dashboard.png width=100%\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"figure/history.png\" alt=history.png width=100%\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"figure/addexpense.png\" alt=addexpense.png width=100%\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"figure/addincome.png\" alt=addincome.png width=100%\u003e\n\u003c/p\u003e\n\n\n## QA\nQuestion 1: Unable to connect to MySQL database?\n\nAnswer 1: Make sure you have modify the correct setting of MySQL in `src\\main\\resources\\application.properties` file.\n\n\n## Authors\n* [JeepWay](https://github.com/JeepWay)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeepway%2Fmoneytracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeepway%2Fmoneytracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeepway%2Fmoneytracker/lists"}