ujjbal
Smart Study Planner & Stress Management
System
The project SMART STUDY PLANNER & STRESS MANAGEMENT
SYSTEM is an intelligent tool designed to assist students in
managing their academic workload and mental well-being
efficiently. In the modern competitive environment, students often
struggle to balance multiple subjects and cope with exam-related
anxiety. This system provides a technology-driven solution to these
challenges.
The primary objective of this project is to automate the creation of
personalized study schedules based on subject difficulty. By
categorizing subjects as Weak, Medium, or Strong, the system
intelligently allocates specific study hours to ensure that more time
is dedicated to challenging topics.
Beyond academic planning, the system features a Stress Level
Checker. It evaluates a student’s current mental state by analyzing
three critical factors:
Sleep Duration: Monitoring rest patterns essential for cognitive
function.
Syllabus Completion: Tracking academic progress to reduce last-
minute pressure.
Confidence Levels: Assessing self-belief regarding the curriculum.
Based on these inputs, the system calculates a stress status (Low,
Medium, or High) and provides tailored suggestions—such as
taking breaks, maintaining consistency, or improving sleep—to
help the student stay motivated.
For data management, the system utilizes CSV (Comma Separated
Values) file storage, ensuring that student records, study plans, and
stress history are maintained securely and efficiently. The user
interface is designed to be simple, fast, and interactive, making it
an essential companion for every student's daily routine
# Advanced Smart Study Planner & Stress
Management System
# Class 12 Computer Science Project
# ---------------- Import files ----------------
impor t csv
impor t os
impor t d ate time
USER_FILE = "use r s .csv"
DATA_FILE = "stud y_records.csv"
# ---------------- FILE SETUP ----------------
def setup_files():
if not [Link](USER_FILE):
with open(USER_FILE, "w", newline="") as f:
writer = [Link](f)
[Link](["Username", "Password"])
if not [Link](DATA_FILE):
with open(DATA_FILE, "w", newline="") as f:
writer = [Link](f)
[Link](["Username", "Subject", "Hours",
"StressScore", "StressLevel", "Date"])
# ---------------- USER AUTH ----------------
def register():
print("\n--- User Registration ---")
username = input("Create Username: ")
password = input("Create Password: ")
with open(USER_FILE, "a", newline="") as f:
writer = [Link](f )
w r i t e r. w r i t e r o w ( [ u s e r n a m e , p a s s w o r d ] )
print("Registration Successful!")
def login():
print("\n--- User Login ---")
username = input("Username: ")
password = input("Password: ")
with open(USER_FILE, "r") as f:
reader = [Link](f )
for row in reader:
if row == [username, password]:
print("Login Successful!")
return username
print("Invalid Login!")
return None
# ---------------- STRESS ANALYSIS ----------------
def calculate_stress():
print("\n--- Stress Analysis ---")
sleep = int(input("Sleep hours per day: "))
syllabus = int(input("Syllabus completed (%): "))
confidence = int(input("Confidence level (1-10): "))
stress_score = (10 - sleep) * 5 + (100 - syllabus) * 0.3 + (10 - confidence) * 5
if stress_score < 30:
level = "Low"
elif stress_score < 60:
level = "Medium"
else:
level = "High"
return int(stress_score), level
# ---------------- STUDY PLANNER ----------------
def create_study_plan():
print("\n--- Study Plan Generator ---")
n = int(input("Number of subjects: "))
plan = {}
for _ in range(n):
subject = input("Subject Name: ")
difficulty = input("Difficulty (Weak/Medium/Strong): ").lower()
days_left = int(input("Days left for exam: "))
if difficulty == "weak":
hours = 3
elif difficulty == "medium":
hours = 2
else:
hours = 1
if days_left <= 7:
hours += 1 # extra focus if exam is near
plan[subject] = hours
return plan
# ---------------- SAVE DATA ----------------
def save_record(username, plan, stress_score,
stress_level):
with open(DATA_FILE, "a", newline="") as f:
writer = [Link](f )
for subject, hours in [Link]():
wr [Link] iterow([
username,
subject,
hours,
stress_score,
stress_level,
[Link]()])
# ---------------- REPORT ----------------
def v iew_report(username):
print("\n--- Productiv ity Report ---")
found = False
with open(DATA_FILE, "r") as f:
reader = [Link](f )
for row in reader:
if row and row[0] == username:
print(row)
found = True
if not found:
print("No records found.")
# ---------------- MAIN MENU ----------------
def main():
setup_files()
while True:
print("\n===== SMART STUDY PLANNER =====")
print("1. Register")
print("2. Login")
print("3. Exit")
ch = input("Enter choice: ")
if ch == "1":
register()
elif ch == "2":
user = login()
if user:
while True:
print("\n--- DASHBOARD ---")
print("1. Generate Study Plan")
print("2. Stress Analysis")
print("3. View Report")
print("4. Logout")
opt = input("Enter choice: ")
if opt == "1":
plan = create_study_plan()
stress_score, stress_level = calculate_stress()
save_record(user, plan, stress_score, stress_level)
print("\nStudy Plan:")
for s, h in [Link]():
print(f"{s}: {h} hrs/day")
print(f"Stress Level: {stress_level}")
elif opt == "2":
score, lev el = ca lcula te_stress()
print("Stress S core:", score)
print("Stress Lev el:", lev el)
elif opt == "3":
v iew_repor t (user)
elif opt == "4":
brea k
else:
print("Invalid choice!")
elif ch == "3":
print("Tha nk you for using the system!")
brea k
else:
print("Invalid choice!")