Skip to content

Commit 647a271

Browse files
Readme Update
1 parent a4d972f commit 647a271

File tree

1 file changed

+243
-1
lines changed

1 file changed

+243
-1
lines changed

README.md

Lines changed: 243 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,244 @@
1-
# AI-Powered-To-Do-Manager-in-Java
1+
# 🧠 AI-Powered To-Do Manager in Java ✅
2+
3+
Smart CLI-based task manager that auto-categorizes your tasks using intelligent keyword-based logic. No paid API needed - completely free and runs locally!
4+
5+
## 🌟 Features
6+
7+
-**Add Tasks**: Create new tasks with intelligent auto-categorization
8+
- 🏷️ **Smart Categories**: Automatic categorization into Work, Personal, Urgent, or General
9+
- 👀 **View & Filter**: View all tasks, filter by category, status, or search by keywords
10+
-**Task Management**: Mark tasks as complete, delete tasks, clear completed tasks
11+
- 💾 **Persistent Storage**: All data saved locally in JSON format
12+
- 📊 **Analytics**: Task summary with completion rates and category breakdown
13+
- 🔍 **Search**: Find tasks quickly using keyword search
14+
- 🎯 **Confidence Scoring**: See how confident the AI is about categorization
15+
- 🌐 **Deployment Ready**: Can be hosted on subdomain (todo.saurabhh.in)
16+
17+
## 🧠 AI Categorization Logic
18+
19+
Tasks are automatically categorized based on keyword analysis:
20+
21+
### 💼 Work Category
22+
Keywords: `office`, `project`, `client`, `meeting`, `presentation`, `report`, `deadline`, `email`, `call`, `conference`, `proposal`, `budget`, `team`, `manager`, `work`, `job`, `business`, `professional`, `corporate`, `company`, `task`, `assignment`, `review`, `analysis`, `development`, `coding`, `programming`, `software`, `application`, `system`, `database`, `server`
23+
24+
### 👤 Personal Category
25+
Keywords: `birthday`, `family`, `shopping`, `grocery`, `home`, `house`, `personal`, `friend`, `vacation`, `holiday`, `doctor`, `appointment`, `health`, `exercise`, `gym`, `hobby`, `book`, `movie`, `restaurant`, `dinner`, `lunch`, `breakfast`, `party`, `celebration`, `gift`, `anniversary`, `wedding`, `travel`, `trip`, `visit`, `clean`, `organize`, `repair`, `maintenance`, `garden`, `pet`, `car`, `insurance`, `bank`, `finance`
26+
27+
### 🚨 Urgent Category
28+
Keywords: `urgent`, `asap`, `immediately`, `now`, `today`, `emergency`, `critical`, `important`, `priority`, `rush`, `quick`, `fast`, `soon`, `deadline`, `overdue`, `late`, `must`, `need`, `required`, `essential`, `crucial`, `vital`, `pressing`, `time-sensitive`, `hurry`, `instant`, `immediate`
29+
30+
### 📝 General Category
31+
Default category for tasks that don't match any specific keywords.
32+
33+
## 🚀 Quick Start
34+
35+
### Prerequisites
36+
- Java 17 or higher
37+
- Maven 3.6 or higher
38+
39+
### Installation & Running
40+
41+
1. **Clone the repository**
42+
```bash
43+
git clone https://github.com/yourusername/AI-Powered-To-Do-Manager-in-Java.git
44+
cd AI-Powered-To-Do-Manager-in-Java
45+
```
46+
47+
2. **Compile the project**
48+
```bash
49+
mvn clean compile
50+
```
51+
52+
3. **Run the application**
53+
```bash
54+
java -cp target/classes Main
55+
```
56+
57+
Or using Maven:
58+
```bash
59+
mvn exec:java -Dexec.mainClass="Main"
60+
```
61+
62+
4. **Build JAR for deployment**
63+
```bash
64+
mvn clean package
65+
java -jar target/ai-todo-manager.jar
66+
```
67+
68+
## 📁 Project Structure
69+
70+
```
71+
ai-todo-manager/
72+
├── src/
73+
│ ├── Main.java # CLI interface and main application
74+
│ ├── Task.java # Task data model
75+
│ ├── TaskManager.java # Task operations and file I/O
76+
│ └── AICategorizer.java # AI categorization logic
77+
├── tasks.json # Local task storage (auto-created)
78+
├── pom.xml # Maven configuration
79+
├── README.md # This file
80+
├── LICENSE # MIT License
81+
└── .gitignore # Git ignore rules
82+
```
83+
84+
## 💻 Usage Examples
85+
86+
### Adding Tasks
87+
```
88+
👉 Enter task title: Submit client proposal by Friday
89+
✅ Task added successfully!
90+
📝 Title: Submit client proposal by Friday
91+
🏷️ Category: 💼 Work
92+
🎯 Confidence: 85%
93+
👍 Good categorization! Consider adding more specific keywords for better accuracy.
94+
```
95+
96+
### Viewing Tasks
97+
```
98+
📋 ALL TASKS
99+
==================================================
100+
1. ⏳ Submit client proposal [💼Work] - PENDING (Created: 2024-01-15 09:30:00)
101+
2. ✅ Buy birthday gift for mom [👤Personal] - COMPLETED (Created: 2024-01-15 10:15:00) (Completed: 2024-01-15 18:30:00)
102+
3. ⏳ Urgent: Fix server issue ASAP [🚨Urgent] - PENDING (Created: 2024-01-15 08:00:00)
103+
```
104+
105+
## 🌐 Deployment to Subdomain (todo.saurabhh.in)
106+
107+
### Step 1: Package the Application
108+
```bash
109+
mvn clean package
110+
# Output: target/ai-todo-manager.jar
111+
```
112+
113+
### Step 2: Deploy to Server
114+
```bash
115+
# Upload to server
116+
scp target/ai-todo-manager.jar root@your_server_ip:/home/deploy/
117+
118+
# SSH to server and run
119+
ssh root@your_server_ip
120+
cd /home/deploy/
121+
java -jar ai-todo-manager.jar
122+
```
123+
124+
### Step 3: Apache Reverse Proxy Configuration
125+
126+
Create `/etc/apache2/sites-available/todo.saurabhh.in.conf`:
127+
128+
```apache
129+
<VirtualHost *:80>
130+
ServerName todo.saurabhh.in
131+
DocumentRoot /var/www/todo
132+
133+
ProxyPreserveHost On
134+
ProxyPass / http://localhost:8080/
135+
ProxyPassReverse / http://localhost:8080/
136+
137+
ErrorLog ${APACHE_LOG_DIR}/todo_error.log
138+
CustomLog ${APACHE_LOG_DIR}/todo_access.log combined
139+
</VirtualHost>
140+
```
141+
142+
### Step 4: Enable Site and Modules
143+
```bash
144+
sudo a2enmod proxy
145+
sudo a2enmod proxy_http
146+
sudo a2ensite todo.saurabhh.in
147+
sudo systemctl restart apache2
148+
```
149+
150+
### Step 5: DNS Configuration
151+
152+
Add A Record in your domain provider (Hostinger):
153+
- **Name**: `todo`
154+
- **Type**: `A`
155+
- **Value**: `your_server_ip`
156+
- **TTL**: `3600`
157+
158+
## 📊 Sample tasks.json Format
159+
160+
```json
161+
[
162+
{
163+
"title": "Submit client proposal",
164+
"category": "Work",
165+
"completed": false,
166+
"createdAt": "2025-01-15 09:30:00",
167+
"completedAt": null
168+
},
169+
{
170+
"title": "Buy birthday gift for mom",
171+
"category": "Personal",
172+
"completed": true,
173+
"createdAt": "2025-01-15 10:15:00",
174+
"completedAt": "2025-01-15 18:30:00"
175+
}
176+
]
177+
```
178+
179+
## 🛠️ Technologies Used
180+
181+
- **Java 17+**: Core programming language
182+
- **Maven**: Dependency management and build tool
183+
- **Gson**: JSON parsing and serialization
184+
- **CLI Interface**: Interactive command-line interface
185+
- **Apache/Nginx**: Web server for deployment
186+
- **JSON**: Local data storage format
187+
188+
## 🎯 Development Roadmap
189+
190+
### Day 1 ✅
191+
- [x] Project setup and Maven configuration
192+
- [x] Core classes: Task, TaskManager, AICategorizer, Main
193+
- [x] Basic CRUD operations
194+
- [x] JSON file storage
195+
- [x] CLI interface
196+
197+
### Day 2 (Planned)
198+
- [ ] Enhanced UI/UX with better formatting
199+
- [ ] Advanced search and filtering
200+
- [ ] Task priority levels
201+
- [ ] Due date functionality
202+
203+
### Day 3 (Planned)
204+
- [ ] Web interface (Spring Boot)
205+
- [ ] REST API endpoints
206+
- [ ] Task statistics and analytics
207+
- [ ] Export/Import functionality
208+
209+
### Day 4 (Planned)
210+
- [ ] Deployment optimization
211+
- [ ] Performance improvements
212+
- [ ] Documentation completion
213+
- [ ] Testing and bug fixes
214+
215+
## 🤝 Contributing
216+
217+
1. Fork the repository
218+
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
219+
3. Commit your changes (`git commit -m 'Add amazing feature'`)
220+
4. Push to the branch (`git push origin feature/amazing-feature`)
221+
5. Open a Pull Request
222+
223+
## 📝 License
224+
225+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
226+
227+
## 👨‍💻 Author
228+
229+
**Saurabh**
230+
- 🌐 Website: [saurabhh.in](https://saurabhh.in)
231+
- 📧 Email: contact@saurabhh.in
232+
- 🚀 Live Demo: [todo.saurabhh.in](https://todo.saurabhh.in)
233+
234+
## 🙏 Acknowledgments
235+
236+
- Thanks to the Java community for excellent documentation
237+
- Gson library for seamless JSON handling
238+
- Maven for simplified dependency management
239+
- All contributors and users of this project
240+
241+
---
242+
243+
**Star this repository if you find it helpful!**
2244
A smart Java-based task manager that uses OpenAI GPT to auto-categorize your tasks (Work, Personal, Urgent). Saves all data locally in JSON. CLI-based, deployable on custom subdomain.

0 commit comments

Comments
 (0)