Bunkr is a student-focused attendance tracker that gives you the insights you actually need. Built as a better alternative to Ezygo, it presents your attendance data with a clean, intuitive interface that makes sense to students. No more confusing numbers - just clear, actionable insights!
Also available as a Flutter app: BUNKR
- Smart Skip Calculator 🧮 - Know exactly how many classes you can miss while staying above attendance requirements
- Better Data Presentation 📈 - Clean, user-friendly interface that actually makes your attendance data understandable
- Ezygo Integration 🔄 - Use your existing ezygo credentials - no new accounts needed
- Real-time Updates ⚡ - Get instant updates on your attendance status and skip calculations
- Track Status Changes 📝 – Get notified when your attendance is updated
- Mobile Friendly 📱 - Access your attendance data on any device, anywhere
- Frontend - Next.js 15.3.0 with React 18
- Styling - Tailwind CSS for a modern, responsive design
- UI Components - Radix UI for accessible, consistent components
- Data Visualization - Recharts for beautiful attendance graphs
- Animations - Framer Motion for smooth transitions
- Additional Services – Supabase
src/
├── app/ # Next.js app router pages and layouts
│ ├── (auth)/ # Authentication-related routes
│ ├── (root)/ # Main application routes
│ ├── globals.css # Global styles
│ └── layout.tsx # Root layout
├── components/ # Reusable React components
├── providers/ # React context providers
├── utils/ # Utility functions
├── assets/ # Static assets
├── types/ # TypeScript type definitions
├── lib/ # Core library code
└── hooks/ # Custom React hooks
Create a .env
file in the root directory and add:
NEXT_PUBLIC_BACKEND_URL=
NEXT_PUBLIC_SUPABASE_URL=
1. If total <= 0 or present <= 0 → return zero
2. current% = (present / total) * 100
3. If current% == target → isExact = true
4. If current% < target:
required = ceil((target * total - 100 * present) / (100 - target))
5. If current% > target:
bunkable = floor((100 * present - target * total) / target)
Full implementation available here: bunk.ts
- Node.js (Latest LTS version recommended)
- npm or yarn
-
Clone the Repository
git clone https://github.com/ABHAY-100/bunkr-web.git
-
Navigate to Project Directory
cd bunkr-web
-
Install Dependencies
npm install # or yarn install
-
Create
.env
file and add the API URL -
Start Development Server
npm run dev # or yarn dev
The application will be available at http://localhost:3000
🎉
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
For any questions, feel free to reach out to me via email at abhaybalakrishnan977@gmail.com
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Thank you for your interest in Bunkr! 🤝