Skip to content

Flutter app using Bloc pattern for employee attendance. Real-time location tracking, API integration, responsive design. Generates reports on attendance, leaves, and presence.

Notifications You must be signed in to change notification settings

yarasfand/Attendance-MobileApplication

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Flutter Live Location Tracking Mega Attendance App

⌛ Real-time location tracking for automated attendance marking. 🌟

✨ Crafted from scratch with meticulous coding, this mega project boasts a fully responsive interface. Embracing the MVC folder architecture and utilizing SQLite for local data storage, it ensures a structured and scalable codebase. Leveraging the power of the Bloc pattern, the app seamlessly integrates live location tracking for automated attendance marking. Additionally, efficient API consumption enhances connectivity and data flow. Elevate your attendance tracking experience with this cutting-edge Flutter application! 📊💻

📁 Folder Architecture

  • Models:
    • Separation of Concerns: Models encapsulate data structures and business logic, promoting a clear separation of concerns.
    • Data Integrity: Responsible for handling data-related tasks, ensuring integrity and consistency.
  • Views:
    • User Interface (UI): Views focus on the presentation layer, representing the UI components and layouts.
    • Responsive Design: Follows a responsive design approach for optimal user experience on various devices.
  • Controllers:
    • Logic Handling: Controllers manage the flow of data between models and views, handling the application's business logic.
    • Event Handling: Responds to user inputs, orchestrating the interaction between the UI and underlying data models.
  • Folder Structure:
    • lib Directory Organization: The lib directory is organized into subdirectories representing the MVC components.
    • Modularity: Each module (Model, View, Controller) resides in its respective directory, promoting modularity and maintainability.
  • Clear Code Organization:
    • Readability: MVC architecture enhances code readability by separating different aspects of the application.
    • Ease of Collaboration: Facilitates collaboration among developers as they can work on specific components without interfering with others.
  • Scalability:
    • Supports Growth: The MVC structure supports scalability, allowing for easy integration of new features or modifications.
    • Future-Proof: The organized codebase is adaptable to changing project requirements over time.

🚪🚪 TWO PORTALS

-> 👨‍💼 ADMIN SIDE

  • Attendance Management:
    • Admin controls the attendance of employees.
    • Admin's own attendance is also maintained.
  • Location-Based Attendance:
    • Admin sets the location on the map.
    • Employee attendance is marked based on specific coordinates.
    • Presence within a specified radius results in attendance marking (geofencing); otherwise, it's not recorded.
    • Admin sets the radius (e.g., 1km) for geofencing.
  • Leave Approval:
    • Admin can approve or disapprove leave requests from employees.
  • Manual Attendance Marking:
    • Admin has the ability to manually mark the attendance of employees.
  • Specific Coordinates for Employees:
    • Admin can set specific coordinates and radius for different employees.
    • Example: Separate coordinates and radius for office-based employees and on-site employees.
  • Access to Reports:
    • Admin can access daily and monthly reports of employee attendance.
  • Time and Attendance Policies:
    • Admin can define and enforce time and attendance policies.
    • Example: Working hours, overtime rules, etc.

-> 👨‍💼 EMPLOYEE SIDE

  • Attendance Marking:
    • Employees mark attendance by clicking their photo.
    • Attendance is marked only if present within the specified coordinates radius (geofencing).
  • Offline Attendance:
    • If internet connectivity is lost during attendance marking, data is saved in local storage.
    • Attendance is synchronized with the server once internet connectivity is restored.
  • Location Sharing:
    • Employees can send their coordinates to the admin for approval.
    • Admin approves or disapproves based on the provided coordinates.
  • Leave Application:
    • Dedicated section for leave applications.
    • Employees submit leave requests through a form.
  • Reports:
    • Reports are maintained for both leaves and attendance.
    • Employees can view their historical attendance and leave records.
  • Profile Editing:
    • Employees can change their name, app password, and profile picture in the profile editing section.

🌟 CORE FEATURES

  • Flutter Framework:
    • Developed using the Flutter framework for a cross-platform and visually appealing user experience. 🌐
  • MVC Architecture:
    • Implemented a well-organized MVC folder architecture for clear separation of concerns. 🏗️
  • SQLite Local Storage:
    • Utilized SQLite for local storage, creating a robust CRUD (Create, Read, Update, Delete) application. 🗃️
  • Fully Responsive Design:
    • Ensured a fully responsive user interface for seamless usage on various devices. 📱
  • Mega Project:
    • Classified as a mega project, showcasing extensive features and capabilities. 🚀
  • API Consumption:
    • Implemented API consumption for efficient data retrieval and posting. 🌐
  • Live Location Tracking:
    • Integrated live location tracking to automate attendance marking. 🗺️
  • Geofencing:
    • Implemented geofencing for precise location-based attendance and security. 📍
  • Corporate Attendance Solution:
    • Ideal for companies to effortlessly manage employee attendance through the application. 🏢
  • Bloc Pattern:
    • Implemented the Bloc pattern for effective state management and streamlined data flow. 🔄
  • Optimized Performance:
    • Ensured a fast and lag-free app experience with optimized coding. ⚡
  • Two Portals:
    • Incorporated two portals, admin, and employee, for distinct functionalities. 🚪
  • Efficient Backend Handling:
    • Backend operations are efficiently managed for seamless app functionality. 🖥️
  • Error Checks:
    • Implemented comprehensive error checks throughout the codebase to enhance reliability. 🚧

Static Badge Static Badge SQLite Badge MVC Architecture Badge Responsive Design Badge Geofencing Badge REST API Integration Badge CRUD Operations Badge

🤝 Explore and Collaborate:

I've poured my heart, soul, and a touch of wizardry into this Flutter spectacle. Now it's yours to explore! 🚀✨
If you share the passion for efficient coding or have collaboration ideas, my virtual door is always open. Let's craft some tech poetry together. 💻🔗

🚩 Get Started:

  1. Clone the repository
  2. Run flutter pub get to install dependencies
  3. Dive into the magic! ✨

Feel free to reach out for collaboration or to share your ideas. Let's make tech magic! 🚀✨

About

Flutter app using Bloc pattern for employee attendance. Real-time location tracking, API integration, responsive design. Generates reports on attendance, leaves, and presence.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages