Skip to content

Code-name-HeaLer/RollCall-Pro

Repository files navigation

RollCall Pro 🚀

A sleek, modern attendance tracking application for students built with React Native (Expo). This app helps students manage their class attendance effectively with an intuitive interface and powerful features, keeping all data securely stored on the device.

✨ Core Features

Smart Attendance Tracking

  • Course Management: Add, edit, and organize courses with customizable details (name, professor, location, schedule, color coding).
  • Attendance Recording: Quick one-tap attendance marking (Present, Absent, Late, Excused) directly from the daily schedule.
  • Schedule Integration: Weekly timetable view and a daily schedule on the home screen.
  • Attendance Statistics: Visual analytics showing attendance percentages per course and overall.
  • Attendance History: Calendar view to track patterns and review past attendance.
  • Minimum Attendance Tracking: Set course attendance requirements and monitor progress.

Enhanced Student Experience

  • Note Taking: Add quick notes to specific attendance entries.
  • Offline Support: Full functionality without an internet connection, thanks to local data storage.
  • Data Export/Backup: Options to export data and perform local backups (Verify implementation details).
  • Customizable Themes: Light/dark mode support.

🛠️ Tech Stack

  • Framework: React Native (Expo SDK)
  • Language: TypeScript
  • Navigation: Expo Router
  • Styling: Tailwind CSS ( via NativeWind)
  • State Management: React Context API
  • Storage: SQL Lite
  • Icons: Ionicons (Expo Vector Icons)
  • Charts: React Native SVG & Victory Charts

🚀 Getting Started

Prerequisites

  • Node.js (LTS version recommended)
  • npm/yarn/bun
  • Expo Go app on your physical device or an emulator/simulator setup

Installation

  1. Clone the repository:

    git clone https://github.com/Code-name-HeaLer/RollCall-Pro
    cd AttendanceManager
  2. Install dependencies:

    npm install
    # or
    yarn install

Running the App

  1. Start the development server:
    npx expo start
  2. Run on your device/emulator:
    • Scan the QR code displayed in the terminal using the Expo Go app on your iOS or Android device.
    • Or, press a to run on an Android emulator, i to run on an iOS simulator, or w to run in the web browser.

⚙️ Usage

  1. Add Courses: Navigate to the "Courses" tab/screen and add your courses, including schedule details.
  2. Mark Attendance: On the "Home" screen, view your schedule for the day and tap the icons (Present, Absent, Late, Excused) for each class.
  3. View Stats & History: Explore the "Statistics" and "Calendar" screens to monitor your attendance records over time.
  4. Adjust Settings: Customize the theme and other preferences in the "Settings" screen.

🤝 Contributing

Contributions are welcome! If you'd like to contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/your-feature-name).
  3. Make your changes.
  4. Commit your changes (git commit -m 'Add some feature').
  5. Push to the branch (git push origin feature/your-feature-name).
  6. Open a Pull Request.

About

An intuitive user first attendance management app for students, Made using React Native (Expo)

Resources

Stars

Watchers

Forks

Packages

No packages published