Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

5 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

BhagyaSreeBorse

BhagyaSreeBorse

A fast, modern academic portal for SRM University students.
Beautiful UI ยท Attendance tracking ยท Timetable download ยท Absence predictor ยท Marks overview

Next.js TypeScript Tailwind CSS License: MIT Open Source


โœจ Features

Feature Description
๐Ÿ  Dashboard At-a-glance overview of attendance, marks, today's schedule
๐Ÿ“… Timetable Full 5-day schedule with downloadable 1920ร—1080 image
โœ… Attendance Per-subject attendance with color-coded status
๐Ÿ”ฎ Absence Predictor Select date range โ†’ see exact attendance impact before skipping
๐Ÿ“Š Marks Subject-wise marks with SGPA estimator
๏ฟฝ๏ฟฝ๏ธ Academic Calendar Month-wise calendar with holidays and class days
๐Ÿ‘ค Profile ID card layout with stats, avatar picker
๐ŸŒ— Dark / Light mode System-aware theme
๐Ÿ“ฑ PWA ready Install as an app on any device โ€” no app store needed

๐Ÿ› ๏ธ Tech Stack

  • Framework โ€” Next.js 16 (App Router, Edge Runtime)
  • Language โ€” TypeScript 5
  • Styling โ€” Tailwind CSS 4
  • Data fetching โ€” TanStack Query v5 with localStorage persistence
  • Animation โ€” Framer Motion
  • API โ€” reddy-api-srm (SRM academia API)
  • Download โ€” dom-to-image-more for timetable image export
  • Icons โ€” Lucide React
  • State โ€” Zustand

๐Ÿš€ Getting Started

Prerequisites

  • Node.js โ‰ฅ 18.x
  • npm โ‰ฅ 9.x (or bun / pnpm)
  • An SRM University student account (the app authenticates against SRM's servers)

1. Clone the repository

git clone https://github.com/YOUR_USERNAME/bhagyasreeborse.git
cd bhagyasreeborse

2. Install dependencies

npm install

3. Run locally

npm run dev

Open http://localhost:8080 in your browser.
Log in with your SRM student credentials (same as SRM Academia portal).

Note: No .env file is required for local development. The app connects directly to SRM's servers via reddy-api-srm.


๐ŸŒ Deploying to Vercel (Recommended โ€” Free)

Vercel is the fastest way to get this live for everyone to use.

Step 1 โ€” Create a Vercel account

Go to vercel.com โ†’ Sign up (free) using GitHub, GitLab, or email.

Step 2 โ€” Push your code to GitHub

# Initialize git if you haven't already
git init
git add .
git commit -m "Initial commit"

# Create a new repo on github.com, then:
git remote add origin https://github.com/YOUR_USERNAME/bhagyasreeborse.git
git push -u origin main

Step 3 โ€” Import to Vercel

  1. Go to vercel.com/new
  2. Click "Import Git Repository"
  3. Select your bhagyasreeborse repo
  4. Vercel auto-detects Next.js โ€” leave all settings as default
  5. Click Deploy ๐Ÿš€

Your app will be live at https://your-repo-name.vercel.app in ~2 minutes.

Step 4 โ€” (Optional) Add a custom domain

  1. In Vercel dashboard โ†’ your project โ†’ Settings โ†’ Domains
  2. Add your domain (e.g. bhagyasreeborse.in)
  3. Update your domain's DNS with the A/CNAME records Vercel provides
  4. SSL is automatic โ€” your site is HTTPS instantly

๐Ÿณ Deploying with Docker (Self-hosted)

Create a Dockerfile in the project root:

FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM node:20-alpine AS runner
WORKDIR /app
ENV NODE_ENV=production
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
COPY --from=builder /app/public ./public
EXPOSE 3000
CMD ["node", "server.js"]

Then run:

docker build -t bhagyasreeborse .
docker run -p 3000:3000 bhagyasreeborse

โ˜๏ธ Deploying to Other Platforms

Netlify

  1. Push code to GitHub
  2. Go to app.netlify.com โ†’ Add new site โ†’ Import from Git
  3. Set build command: npm run build
  4. Set publish directory: .next
  5. Deploy

Railway

  1. Go to railway.app โ†’ New Project โ†’ Deploy from GitHub
  2. Select your repo
  3. Railway auto-detects Next.js and deploys

๐Ÿ“ฑ Installing as a PWA (No App Store Needed)

Share the deployed URL โ€” users can install it as a native-like app for free.

Android (Chrome):

  1. Open the URL in Chrome
  2. Tap โ‹ฎ menu โ†’ "Add to Home screen"
  3. Tap Add โ€” appears as an app icon on the home screen

iOS (Safari):

  1. Open the URL in Safari
  2. Tap the Share button (box with arrow icon)
  3. Tap "Add to Home Screen"
  4. Tap Add

๐Ÿ”ง Available Scripts

Command Description
npm run dev Start development server on port 8080
npm run build Create production build
npm run start Start production server
npm run lint Lint all source files
npm run lint:fix Auto-fix lint issues
npm run type-check Run TypeScript type checking
npm run clean Remove .next build cache

๐Ÿ“ Project Structure

src/
โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ app/                   # Authenticated app pages
โ”‚   โ”‚   โ”œโ”€โ”€ dashboard/         # Home dashboard
โ”‚   โ”‚   โ”œโ”€โ”€ timetable/         # Timetable + image download
โ”‚   โ”‚   โ”œโ”€โ”€ attendance/        # Per-subject attendance
โ”‚   โ”‚   โ”œโ”€โ”€ marks/             # Marks + SGPA predictor
โ”‚   โ”‚   โ”œโ”€โ”€ calendar/          # Academic calendar
โ”‚   โ”‚   โ”œโ”€โ”€ profile/           # User profile & stats
โ”‚   โ”‚   โ””โ”€โ”€ components/        # Shared app components
โ”‚   โ”‚       โ”œโ”€โ”€ AbsencePredictor.tsx
โ”‚   โ”‚       โ”œโ”€โ”€ MobileNav.tsx
โ”‚   โ”‚       โ”œโ”€โ”€ provider.tsx
โ”‚   โ”‚       โ”œโ”€โ”€ sidebar.tsx
โ”‚   โ”‚       โ””โ”€โ”€ ...
โ”‚   โ”œโ”€โ”€ auth/                  # Login / logout flows
โ”‚   โ”œโ”€โ”€ components/            # Root-level components
โ”‚   โ””โ”€โ”€ layout.tsx             # Root layout + metadata + PWA
โ”œโ”€โ”€ components/ui/             # Reusable UI primitives (button, dialog, etc.)
โ”œโ”€โ”€ data/                      # Static academic calendar & day-order data
โ”œโ”€โ”€ hooks/                     # TanStack Query hooks + Zustand stores
โ”œโ”€โ”€ lib/                       # API wrapper, utilities
โ”œโ”€โ”€ types/                     # TypeScript type definitions
โ”œโ”€โ”€ utils/                     # Helper functions
โ””โ”€โ”€ middleware.ts              # Auth guard (redirects unauthenticated users)

๐Ÿ” Authentication

This app uses cookie-based authentication via reddy-api-srm.

  • Login calls SRM's authentication endpoint
  • A session token is stored in a cookie
  • middleware.ts protects all /app/* routes โ€” unauthenticated users are redirected to /auth/login
  • No passwords are stored anywhere in this app

๐Ÿค Contributing

Contributions are welcome! Whether it's a bug fix, new feature, UI improvement, or documentation โ€” all PRs are appreciated.

How to contribute

  1. Fork this repository
  2. Create a feature branch:
    git checkout -b feature/your-feature-name
  3. Make your changes
  4. Verify nothing is broken:
    npm run type-check && npm run lint
  5. Commit with a clear message:
    git commit -m "feat: add your feature description"
  6. Push to your fork and open a Pull Request against main

Commit message convention

Prefix When to use
feat: New feature
fix: Bug fix
ui: Visual / style change
refactor: Code restructuring, no behaviour change
docs: Documentation only
chore: Maintenance, dependency updates

What makes a good PR

  • Focused โ€” one thing per PR
  • TypeScript errors: 0
  • Tested on both mobile and desktop
  • Screenshot attached if it's a UI change

๐Ÿ› Reporting Issues

Found a bug? Open an issue with:

  • A clear title
  • Steps to reproduce
  • Expected vs actual behaviour
  • Device / browser / OS
  • Screenshots or screen recording if possible

๐Ÿ“‹ Code of Conduct

Our Pledge

We are committed to making participation in this project a welcoming experience for everyone, regardless of age, background, experience level, or identity.

Our Standards

Encouraged behaviour:

  • Using welcoming and inclusive language
  • Being respectful of differing viewpoints
  • Gracefully accepting constructive feedback
  • Focusing on what is best for the community

Unacceptable behaviour:

  • Harassment, insults, or personal attacks
  • Trolling or deliberately disruptive comments
  • Publishing others' private information without consent
  • Any other conduct that could reasonably be considered inappropriate

Enforcement

Violations can be reported by opening an issue or contacting the maintainer directly. All reports will be reviewed and investigated. Maintainers have the right to remove, edit, or reject contributions that do not align with this Code of Conduct.


๐Ÿ“œ License

MIT License

Copyright (c) 2026 Gowtham Sree Charan Reddy (gowthamrdyy)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

โš ๏ธ Disclaimer

This project is not affiliated with, endorsed by, or officially connected to SRM Institute of Science and Technology in any way. It is an independent, open-source tool built by students for students.

All academic data is fetched directly from SRM's own servers using your credentials. Your login details are never stored by this application.


๐Ÿ™Œ Acknowledgements


Crafted with โค๏ธ by gowthamrdyy

For SRM students, by an SRM student.

โญ Star this repo if it helped you!

About

A fast, modern academic portal for SRM University students.Beautiful Ul, Attendance tracking,Timetable download,Absence predictor,Marks overview

Resources

Code of conduct

Contributing

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages