Flutter Course Registration System

Job ID: 40119972

Budget: €750 – €1,500 EUR

1. Overview
This system is designed to allow users to register for courses. Multiple foundations (partners) can offer courses for a fee, and users can sign up and pay for these courses through a dedicated app.
There are two apps:
1. User App – For users registering for courses.
2. Partner App – For partners offering courses.
The system also includes an Admin panel to manage users, partners, and courses.
The primary focus is on enabling users to register for CPR courses, manage certificates, and handle payments.
The app will be developed using Flutter, compatible with iOS and Android, and backed by Firebase for the database. SMS authentication will be used. Integration with Mollie (IDEAL)
________________________________________
2. User App
2.1 Home Screen
• Displays courses available in the user’s area (using GPS).
• Sorted by date and location.
Course overview table:
Date Course Type Location Time Price Available Spots
2.2 Course Details
After selecting a course, the following information is displayed:
• Provider: Name of foundation
• Course Location:
o Street name
o House number
o Postal code
o City
• Time
• Course Type
• Price
• General course information
2.3 Features
• View last certificate date
• View invoices
• View status of courses: registered, completed, paid, or pending
• Update personal information
• Receive a popup with course information 24 hours before the course
• Certificate expiry reminders (3, 2, 1 month(s) in advance) via popup and email, unless a new course is already registered
• Pending payments can be completed anytime via invoice overview
• Cannot change course date
• View certificate including the certificate date
• Reset password
2.4 Required User Fields
• Email address
• Password
• First name
• Last name
• Gender
• Date of birth
• Street name
• House number
• Postal code
• City
• Certificate date
________________________________________
3. Partner App
3.1 Registration
• Partners can register, but registration requires admin approval.
• Once approved, partners must complete their profile.
3.2 Course Management
Partners can create multiple courses. Required course fields:
Field Description
Date Course date
Time Course start time
Course Type Type of course
Price Course fee
Default Course Location Street, House number, Postal code, City
Available Spots Number of participants
3.3 User Management
• View user details for registered courses:
o Email address
o First & Last name
o Date of birth
o Payment status (paid or pending)
o Completion status (completed or not)
• Mark course completion (passed or not)
• Add a user to a course using email only
o Account does not need to exist yet
o User receives invitation to create an account
o After account creation, user can pay
3.4 Course Completion Deadline
• Courses must be marked as completed or not within 5 days
• Partner receives a reminder
3.5 Partner Fields
• Email address
• Password
• First name
• Last name
• Gender
• Date of birth
Partner Organization Details:
• Chamber of Commerce (KVK) number
• Street name
• House number
• Postal code
• City
Instructors:
• First name & Last name
Default Course Location:
• Street name
• House number
• Postal code
• City
________________________________________
4. Admin Panel
• Modify all user and partner data
• View monthly registrations per partner
• View all course statuses
• Create and modify course types (3 types available)
________________________________________
5. General System Requirements
• Developed with Flutter
• Compatible with iOS and Android
• Web page for Stichting Purmerend with all courses in Purmerend
o Subdomain per city: cityname.xxxxxx.nl
• Database: Firebase
• SMS authentication