Repository navigation
Chip v1.0 - Final Release
π What's New
Chip is a comprehensive task management application that helps you organize your daily tasks efficiently. This release includes all core features for effective task management.
β¨ Features
Task Management
- Todo Tasks: Create simple tasks without time constraints
- Deadline Tasks: Add tasks with specific deadlines using
/bysyntax - Event Tasks: Schedule events with start and end times using
/fromand/to
Task Operations
- List Tasks: View all your tasks with their current status
- Mark Complete: Mark tasks as done or not done
- Delete Tasks: Remove tasks from your list
- Find Tasks: Search for tasks by keyword
- Sort Tasks: Organize tasks alphabetically
User Experience
- Dual Interface: Both command-line and graphical user interface
- Help System: Built-in help command with all available commands
- Data Persistence: Tasks automatically saved to file
- Error Handling: User-friendly error messages and validation
π₯οΈ System Requirements
- Java: Version 17 or higher
- JavaFX: Version 21.0.2 (included in JAR)
- Platform: Cross-platform (Windows, macOS, Linux)
π Getting Started
Command Line Interface
java -jar chip.jarGraphical User Interface
java -jar chip.jarThe application will automatically launch the GUI interface
π Quick Commands
| Command | Description | Example |
|---|---|---|
todo <description> |
Add a simple task | todo read a book |
deadline <description> /by <date> |
Add a task with deadline | deadline submit report /by 2024-12-31 1800 |
event <description> /from <start> /to <end> |
Add an event | event meeting /from 2024-12-25 1400 /to 2024-12-25 1600 |
list |
Show all tasks | list |
mark <number> |
Mark task as done | mark 1 |
unmark <number> |
Mark task as not done | unmark 1 |
delete <number> |
Remove a task | delete 1 |
find <keyword> |
Search for tasks | find meeting |
sort |
Sort tasks alphabetically | sort |
help |
Show help information | help |
bye |
Exit the application | bye |
ποΈ Architecture
- Layered Design: Clean separation of UI, Command, Task, and Storage layers
- Object-Oriented: Proper use of inheritance and encapsulation
- Exception Handling: Robust error handling throughout the application
- Data Persistence: Automatic saving and loading of tasks
π§ͺ Testing
- Comprehensive unit tests using JUnit
- Smoke tested on multiple platforms
- Cross-platform compatibility verified
π Documentation
- Complete User Guide available at:
https://{your-username}.github.io/{repo-name}/ - Comprehensive JavaDoc documentation
- Inline code comments for maintainability
π Bug Fixes
- Fixed string matching issues in test cases
- Resolved build configuration problems
- Improved error handling and user feedback
π§ Technical Details
- Build System: Gradle with Shadow plugin for fat JAR
- Testing Framework: JUnit 5
- Code Quality: Checkstyle compliance
- Version Control: Git with proper commit conventions
π License
This project is part of the CS2103 Software Engineering course requirements.
π€ Contributing
This is a course project submission. For questions or issues, please refer to the course documentation.
Download: chip.jar (attached to this release)
Documentation: Available in the /docs folder
Source Code: Available in the repository
Happy task managing with Chip! π―