- A java window application project.
- Record income and expenses.
- Use MVC pattern.
- Support CRUD operations.
An 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.
- Java
- Apache Maven
- MySQL Server
- MySQL Workbench
- Eclipse EE or Visual Studio Code
- Download development tool
- IDE: Eclipse EE
- Database: MySQL
- Open Eclipse EE.
- Clone this repository
- Click On File > Import > Git > Projects From Git(with smart import) > Next
- Clone URI > Next > Paste
https://github.com/JeepWay/MoneyTracker.git
in URI > Next - Select master Branch > Next > Select Destination Directory > Next
- Ckeckout Import Source > Finish
- Create MySQL database
- Open MySQL Command Prompt or MySQL Workbench
- Login to the administrator user as :
mysql -u <adminusername> -p
- Enter Password if asked
- Copy paste the MySQL commands in
setup/CreateUsers.sql
andsetup/CreateRecords.sql
to the Prompt - Make sure you have get response after enter the commands, e.g., search user
- Configure MySQL
- Open
src/main/resources/application.properties
file - 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
.
- Open
- Build project
- Right Click on Project > Maven > Update Project... > Click Force Update > Select moneytracker > OK
- Right Click on Project > Run as > Maven Build > Paste
clean install
in the goals field > apply > run - Check the output in console and make ensure success build.
- Run application
- Right Click on Project > Run as > Maven Build > Paste
exec:java
in the goals field > apply > run - For simplicity, you can just open terminal, then paste
mvn exec:java
command
- Right Click on Project > Run as > Maven Build > Paste
- Login
- The default username and password is
demo
and8888
- If you want to create the new user, just click signup page to create new user information
- The default username and password is
- Download development tool
- IDE: Visual Studio Code
- Database: MySQL
- Clone this repository
- Open terminal
- Paste
git clone https://github.com/JeepWay/MoneyTracker.git
in terminal cd MoneyTracker
- Create MySQL database
- Open MySQL Command Prompt or MySQL Workbench
- Login to the administrator user as :
mysql -u <adminusername> -p
- Enter Password if asked
- Copy paste the MySQL commands in
setup/CreateUsers.sql
andsetup/CreateRecords.sql
to the Prompt - Make sure you have get response after enter the commands, e.g., search user
- Configure MySQL
- Open
src/main/resources/application.properties
file - 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
.
- Open
- Build project
- Paste
mvn clean install
in terminal - Check the output of
mvn clean install
and ensure success build.
- Paste
- Run application
- Paste
mvn exec:java
in terminal
- Paste
- Login
- The default username and password is
demo
and8888
- If you want to create the new user, just click signup page to create new user information
- The default username and password is
├── java.com.jeepway
| ├── constant
| | ├── CommonConstants.java
| | ├── DBConstants.java
| | ├── RecordConstants.java
| | ├── UserConstants.java
| ├── control
| | ├── HomePage.java
| | ├── LoginPage.java
| | ├── PanelCardAddExpense.java
| | ├── PanelCardAddIncome.java
| | ├── PanelCardDashBoard.java
| | ├── PanelCardHistory.java
| | ├── SignupPage.java
| | ├── SwingCalendar.java
| ├── model
| | ├── Record.java
| | ├── User.java
| ├── utils
| | ├── DBConnection.java
| | ├── DBRecordsService.java
| | ├── DBUserService.java
| ├── view
| | ├── HomePageUI.java
| | ├── LoginPageUI.java
| | ├── PanelCardAddExpenseUI.java
| | ├── PanelCardAddIncomeUI.java
| | ├── PanelCardDashBoardUI.java
| | ├── PanelCardHistoryUI.java
| | ├── SignupPageUI.java
├── resources
| ├── icon
| | ├── *.png
| ├── application.properties
model
folder contains the encapsulation of users and records tables in database.
view
folder contains UI files constructed with WindowBuilder plug-in.
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.
utils
folder contains the methods to connect to MySQL database. These methods are accessible for controller call to get data from database.
constant
folder contains some constant variables frequently used.
You can see the traditional chinese tour in here.
Furthermore, you can also click the question marks in window application which is linked to the the traditional chinese tour.
If your are familiar with english, we also provide the english version of the tour in MoneyTrackerTour.en-US.md
Question 1: Unable to connect to MySQL database?
Answer 1: Make sure you have modify the correct setting of MySQL in src\main\resources\application.properties
file.