Table of Contents
Demo.Trial.webm
- Being a college student we are enrolled in a lot of communities. We do a lot of community meetings as well. One problem that comes up again and again is regarding attendance. We need to take the attendance of attendees to give it to college, to compensate for their college attendance, and it also helps to keep track of activeness of the members.
Some existing solutions are:
ย ย The physical ledger book is simple, you just take a ledger book and makes the attendee fill in their details one by one.
Pros:
- Easy to set up initially
- No previous knowledge of attendees needed.
Cons:
- Takes too much time to resister each attendee one by one.
- Much more hasel to entry that data in Excel sheet.
ย ย Some large event uses QR attendance system to keep track of attendance.
Pros:
- Fast attendance
- Digital data so easy to manipulate
Cons:
- You must have a attendee list beforehand, mostly taken through Google forms
- A big hasel for small community meetings
- To solve this problem , we came up with a solution using Cross Platform Framework Flutter. Getting inspiration from this two systems, and analysing it's pros and cons, we made our app EenTrack.
- The project aims to solve the problem of Attendance Tracking in small and medium community meetings.
- Creating a meeting is as easy as pressing a button and doesnot need an attendee list beforehand.
- By scanning the generated QR registration of candidates becomes easy and less time consuming.
- The export feature uploads all details in Excel sheet thus saving us from the manual labour of data entry.
- Users will register using email and password.
- Data of students like name, roll, sem, phone, GitHub profile (optional), LinkedIn profile (optional)
- Once logged in, either you can join a meeting or create a meeting.
- Once logged in, go to create meetings tab
- There you will see your past meetings if you have any
- Tap on create meeting
- You will be navigated to a screen where you'll see a QR code, using which attendee will mark their attendance.
- Below the QR code you'll get the list of attendees who scanned the QR
- Once all the attendance is taken, press the export button to export the details of attendees in Excel sheet
- Click the scan QR button
- Scan the QR code of a meeting
- Your attendance is recorded on that meeting
- Creating the best UI which is logical as well as simple and easy to use was a challenge
- To convert the design file into responsive flutter code was a big challenge
- Managing auth state was a big issue that we solved using block
- Figuring out the best database model to store the user data was a big challenge
- Managing a team of developer to push their code in a single repo and work together was a big challenge in itself
- Making the attendace tracking system in a more organised way by enabling the two QR based Attendance Tracker during entry and exit
- Identity Validation of the attendee who is joining the meeting by maintaining a proper database
- Large Screen Optimization and minor bug fixes
Dart : For writing the codebase of the app.
Flutter : It gave us a beautiful default setup, and the flexibility to customise as per our need. It also enabled us to ship our app in Android, iOS, and potentially on web from a single codebase.
Firebase Auth : To make the backend, we used One of the Google cloud services product, Firebase. It enabled us to easily and securely handle user authentication using firebase auth.
Cloud Firestore : Managing user data using firestore.
Firebase Storage : For storing profile pics using storage also due to is awesome support for flutter enabled us to easily use itย inย ourย project.
- Supports Material U dynamic coloring on android 12+
- Random Profile Avatar on registering based on name
- Flutter, a framework of cross platform development is used for this project
- Special emphasis has been given over UI and UX to take the user experience to a another level
- A proper project workflow has been maintained throughout the course of developing the project
To use this app:
- Download the apk file from here
- Install the apk
- open the app and Enjoy ๐!!
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "improvement". Don't forget to star this project!!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/Feature1
) - Commit your Changes (
git commit -m 'Add Feature 1'
) - Push to the Branch (
git push origin feature/Feature1
) - Open a Pull Request