CampusFlow is a modern academic dashboard for PESU students. It brings profile details, attendance tracking, course data, timetable views, result summaries, exam seating, and smart academic insights into one polished web app.
The project focuses on a safe PESU sync flow, premium UI, local-first caching, and a smooth student experience.
- Safe PESU Academy sync flow
- Student profile sync
- Real attendance sync
- Course list sync
- Profile photo support
- Password is used only during sync and is not stored in localStorage
- Premium glassmorphism dashboard UI
- Attendance health overview
- Low attendance alerts
- Safe subject count
- Critical subject focus
- Quick academic shortcuts
- PESU sync status
- Subject-wise attendance tracking
- Real PESU attendance support
- Target attendance percentage
- Low, warning, and safe subject grouping
- Recovery class estimation
- Remaining skip estimation
- Semester-end attendance projection
- Weekly timetable layout
- Class time, room, faculty, and subject view
- Demo timetable support while real timetable endpoint is being explored
- Subject result overview
- Average score
- Highest and lowest subject performance
- Grade distribution
- SGPA / CGPA summary
- Exam seat card view
- Room, block, seat, date, and time details
- Search by subject, code, room, block, or seat
- Ctrl + K global search
- Search pages, subjects, rooms, results, timetable, and seating
- Keyboard navigation support
- Next.js App Router
- Tailwind CSS styling
- Framer Motion animations
- Glassmorphism cards
- Mobile bottom navigation
- Responsive dashboard shell
- Premium landing and login page
- Next.js
- TypeScript
- Tailwind CSS
- Framer Motion
- Lucide React
- Python
- PESU Academy Python wrapper
- Local-first browser caching
- Server API routes
campusflow/
├── scripts/
│ └── campusflow_pesu.py
├── src/
│ ├── app/
│ │ ├── api/
│ │ │ └── pesu/
│ │ │ └── sync/
│ │ │ └── route.ts
│ │ ├── attendance/
│ │ ├── dashboard/
│ │ ├── results/
│ │ ├── seating/
│ │ ├── settings/
│ │ ├── timetable/
│ │ ├── today/
│ │ └── page.tsx
│ ├── components/
│ │ ├── dashboard/
│ │ ├── layout/
│ │ ├── settings/
│ │ ├── studio/
│ │ └── ui/
│ └── lib/
│ ├── academic-utils.ts
│ ├── auth/
│ ├── hooks/
│ ├── pesu/
│ └── store/
├── .env.local
├── package.json
└── README.mdgit clone https://github.com/YOUR_USERNAME/campusflow.git
cd campusflownpm installpython3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pippython -m pip install pesuacademy lxml beautifulsoup4 html5libCreate:
.env.localAdd:
CAMPUSFLOW_PYTHON_PATH=/absolute/path/to/campusflow/.venv/bin/pythonExample:
CAMPUSFLOW_PYTHON_PATH=/home/your-name/Desktop/dashboard/campusflow/.venv/bin/pythonnpm run devOpen:
http://localhost:3000npm run lint
npm run buildCampusFlow uses a safe sync layer for PESU Academy data.
The Python script fetches raw PESU data, then normalizes it before sending it to the Next.js API route.
Only safe fields are returned to the frontend:
profile: {
name,
srn,
pesuId,
program,
branch,
semester,
semesterNumber,
section,
photoDataUrl
}attendance: [
{
code,
name,
attended,
total,
percentage
}
]courses: [
{
code,
name,
type,
status,
id
}
]Sensitive fields like password, contact number, Aadhaar number, address, and raw personal details are not exposed to the UI.
- Do not commit
.env.local - Do not commit
.venv - Do not commit credentials
- PESU password is used only during sync
- Password should not be stored in localStorage
- Only safe normalized PESU data should be cached locally
- If credentials were ever pasted in logs or terminal output, change the PESU Academy password
Recommended .gitignore entries:
node_modules
.next
out
dist
.env
.env.local
.env.*.local
.venv
__pycache__
*.pyc
.DS_StoreWorking:
- Landing/login UI
- Dashboard shell
- Safe PESU sync route
- Real PESU profile sync
- Real PESU attendance sync
- Real course sync
- Profile photo support
- Attendance page
- Dashboard page
- Results page
- Seating page
- Command palette
- Mobile navigation
In progress:
- Server-session based auth flow
- Real timetable endpoint exploration
- More stable production sync flow
- UI polishing and cleanup
- Server-side session based PESU sync
- Real timetable fetch support
- Better profile photo rendering
- Attendance history
- Subject-wise trend graphs
- Better result analytics
- Calendar integration
- Push notification reminders
- More secure production deployment flow
CampusFlow is an independent student project and is not officially affiliated with PES University.
PESU Academy data access depends on the available PESU Academy portal behavior and third-party wrapper compatibility.
MIT License