A simple and efficient tool to help you set, prioritize, and track your goals. Built with Java Swing and designed to provide a seamless experience, this app is perfect for students and individuals who want to stay on top of their personal or professional goals.
- Home Page: Provides a snapshot of your current goals and quick actions.
- Calendar View: Visualize goals and track progress over time.
- Priority Management: Organize goals by priority level.
- To-Do List: Manage daily tasks linked to each goal.
- My Goals: View all goals in detail, track completion status.
- Welcome Page: A user-friendly entry point for setting up user profiles.
The following technologies were used in building this project:
- Java: The primary programming language used for application logic and GUI development.
- Java Swing: Used to create the graphical user interface for a smooth, interactive experience.
- JDBC (Java Database Connectivity): Facilitates database operations and allows interaction with the MariaDB database.
- MariaDB: A relational database system used to store and manage goal data.
- Properties Configuration: External configuration via
config.propertiesto manage database credentials securely. - SQL: Used for creating and managing database tables, and executing queries for CRUD operations.
- Git & GitHub: Version control and code sharing.
Here are some screenshots showcasing the app’s main features.
The welcome page greets users with setup options.
The home page provides an overview of goals and progress.
Track and visualize goals on specific dates.
Organize goals by priority to focus on the most important tasks.
A task list to manage day-to-day steps related to each goal.
A comprehensive list showing all goals and their current progress.
- Java 8 or later
- MariaDB or AWS for goal data storage (optional but recommended)
- Clone this repository:
git clone https://github.com/voidAasif/Goals.git
To set up the database, import the provided SQL file:
mysql -u username -p database_name < database/goals.sql
## Database Configuration
To keep your database credentials secure and easy to modify, this project uses an external configuration file, `config.properties`. This allows you to update your database settings without changing the source code directly.
### Steps to Set Up Database Credentials
1. **Create a Configuration File**:
Inside the `src` directory of the project, create a new file named `config.properties` if it doesn’t already exist.
In `config.properties`, add the following lines and replace the values with your own database credentials:
```properties
# config.properties
db.username=your_database_username
db.password=your_database_password





