Skip to content

(WORK IN PROGRESS!) A simple, student-only alternative to Ezygo. Now calculate bunks even if teachers are not updating attendance (u can do it yourself).

License

Notifications You must be signed in to change notification settings

devakesu/BunkrAndroid

 
 

Repository files navigation

Bunkr

Overview

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 web app: bunkr-web


🎯 Features

  • 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
  • Cross-Platform 📱 – Available on Android, iOS, and Web

🛠️ Tech Stack

  • Framework – Flutter 3.32 (Dart)
  • Backend & Messaging (Notifications) – Supabase, Firebase
  • UI Components – shadcn, Material, Cupertino

📁 Project Structure

lib/
├── main.dart                # App entry point
├── screens/                 # Main screens
├── services/                # Business logic and integrations
├── models/                  # Data models
├── widgets/                 # Reusable UI components
├── helpers/                 # Utility functions

android/                     # Android-specific code and configs
ios/                         # iOS-specific code and configs
web/                         # Web support files
assets/                      # Fonts and images

🔌 API & Environment Setup

Create a .env file in the project root and add API keys and endpoints

SUPABASE_URL=
SUPABASE_ANON_KEY=
EZYGO_API_URL=

You will also need to add your Firebase configuration files

  • google-services.json for Android
  • firebase_options.dart for Flutter

🧮 Bunk Algorithm

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.dart


🚀 Getting Started

Prerequisites

  • Flutter SDK (3.32 or later)
  • Android Studio or VS Code (for mobile development)
  • A device or emulator

Quick Start

  1. Clone the Repository

    git clone https://github.com/AsilMehaboob/BUNKR.git
  2. Navigate to Project Directory

    cd BUNKR
  3. Install Dependencies

    flutter pub get
  4. Create .env file and add API keys

  5. Add Firebase configuration files (see above)

  6. Run the App

    flutter run

The application will be available on your Android device or emulator


🤝 Contributing

We welcome contributions! Here’s how you can help

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

👥 Team


📧 Contact

For any questions, feel free to reach out to me via email at asilmehaboob@gmail.com


📄 License

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! 🤝

About

(WORK IN PROGRESS!) A simple, student-only alternative to Ezygo. Now calculate bunks even if teachers are not updating attendance (u can do it yourself).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 54.8%
  • HTML 45.0%
  • Other 0.2%