Smart Study Planner banner

Smart Study Planner

3 devlogs
9h 52m 4s

Smart Study Planner is a web-based application created to help students manage their study time in a better and more organized way. Many students struggle with planning their daily study schedule, remembering deadlines, and staying consistent. Thi…

Smart Study Planner is a web-based application created to help students manage their study time in a better and more organized way. Many students struggle with planning their daily study schedule, remembering deadlines, and staying consistent. This project tries to solve that problem by providing a simple and interactive platform to plan and track study activities.
The main objective of this project is to help students study smarter, not harder by organizing their work and tracking progress. It focuses more on usability and real-life student problems rather than just technical complexity.

This project uses AI

Used AI for deployment debugging and deployment fixes.

Demo Repository

Loading README...

harish

Deployed all the services (5 micro services) in Railway and frontend in vercel. Scheduler server is working but as a combination it throws error and i could not find a fix for this.

Attachment
0
harish

Discovery Server (Eureka):
1.set up eureka server for service registry
2.added @EnableEurekaServer in main class
3.configured application.properties with:
i)register-with-eureka=false
ii)fetch-registry=false
4.tested by running server and checking dashboard (/eureka)
5.at first services were not showing because wrong port config
6.fixed by correcting defaultZone in client services
7.learned how service discovery actually works (before I was just copying configs)

User Service: created basic spring boot service for handling users
1.create user
2.get user details
3.connected with eureka client
4.had issue with service not registering → fixed dependency mismatch
5.used simple in memory storage (no DB for now)
6.tested using Postman
7.learned how multiple services communicate through gateway

Scheduler Engine: implemented scheduler using @Scheduled annotation
1.purpose was to trigger periodic checks (like reminders or updates)
2.initially scheduler was not running → forgot to enable scheduling
3.fixed by adding @EnableScheduling
4.tested logs to confirm execution
learned how background jobs work in spring

UI (Vite Frontend):
1.created frontend using Vite
2.designed simple UI for study planner
3.added basic pages (tasks, planner view)
4.connected frontend to backend APIs
5.had CORS issue at first → fixed using spring config
6.replaced localhost with deployed backend URL later
UI is simple but functional

backend is not fully working because other microservices (like discovery server and services) are not deployed
due to this, some API calls are failing. So deployment is partially successful but not fully functional yet

Attachment
0
harish

I’m building a brain for my study schedule. I didn’t want a messy project where everything is shoved into one folder, so I split it up. This week was all about the API Gateway (the gatekeeper) and the Task Service ( the actual homework tracker).
the Gateway is like the “front door” of the whole app. Instead of the frontend trying to find 5 different ports (which is a total nightmare), it just hits port 8080 and the Gateway points it to the right place.

Dynamic Routing is GOATED: I used lb://. This means the Gateway literally asks Eureka where the services are. No hardcoded URLs. It’s super clean.
CORS was beefing with me: My React frontend was getting blocked because it’s on a different port. Spent way too long on this, but I fixed it with a CorsConfig so the browser stops trippping.
Checking the “Map”: I can check actuator/gateway/routes to see exactly where my traffic is going. It’s like a GPS for my data.
The Task Service:
Making it “Smart”:
I didn’t want this to be a boring to-do list, so I added some “autopilot” features:

Auto-Complete: If I set a task to 100% progress, it automatically flips to DONE. If I just start it, it moves to IN_PROGRESS. I don’t have to manually click a bunch of buttons.

Lazy Mode (Defaults): If I’m in a rush and just type “History Project,” the app fills in the rest—gives me a week to do it and sets a “medium” difficulty.

No Blank Screens: I added a “seed” function. The first time I open the app, it gives me 3 fake tasks (Math, History, Physics) so it doesn’t look like a ghost town.

Attachment
0