This is a semester-long project developed in Flutter as part of the CS 443 – Mobile Application Development course. The project will involve weekly tasks, leading to a fully functioning Flutter application by the end of the semester.
- Created a new Flutter project named
contact_management_app. - Established a basic folder structure in the
libfolder:screens/orpages/services/models/(optional)
- Created four screens in the
screens/folder:contacts_list.dartadd_contact.dartedit_contact.dartabout.dart
- Implemented a bottom navigation bar in
main.dartwith four sections:- Contacts List (using a contacts icon)
- Add Contact (using an add icon)
- Edit Contact (optional, for modifying existing contacts)
- About (using an info icon)
- Ensured proper navigation between screens using either named routes or
MaterialPageRoute.
Implemented API service methods to handle various contact management actions.
-
Get Single Contact
- Endpoint:
https://apps.ashesi.edu.gh/contactmgt/actions/get_a_contact_mob?contid=6 - Method: GET
- Response: JSON list of contacts (pid, pname, pphone)
- Endpoint:
-
Get All Contacts
- Endpoint:
https://apps.ashesi.edu.gh/contactmgt/actions/get_all_contact_mob - Method: GET
- Response: JSON list of contacts (pid, pname, pphone)
- Endpoint:
-
Add New Contact
- Endpoint:
https://apps.ashesi.edu.gh/contactmgt/actions/add_contact_mob - Method: POST
- Required Data:
{ufullname:data, uphonename:data} - Response: success/failed (string)
- Endpoint:
-
Edit Contact
- Endpoint:
https://apps.ashesi.edu.gh/contactmgt/actions/update_contact - Method: POST
- Required Data:
{cname: formdata, cnum: formdata, cid: formdata} - Response: success/failed (string)
- Endpoint:
-
Delete Contact
- Endpoint:
https://apps.ashesi.edu.gh/contactmgt/actions/delete_contact - Method: POST
- Required Data:
{cid:data} - Response: true/false (Boolean) or StatusCode of 200 (OK)
- Endpoint:
The application has been tested on a Samsung A12 device. The core features, such as creating, editing, and deleting contacts, have been successfully implemented.
- Creating a Contact: Contacts are added as expected, though saving speed requires optimization.
- Saving Contacts: Contacts are stored correctly despite a slight delay.
- Editing Contacts: Users can modify details without issues.
- Deleting Contacts: Contacts can be removed successfully.
Overall, the app’s basic functionalities work well, with future improvements focusing on performance optimization. P.S: This was my first Flutter application in 2 semesters, keep an open mind😬