Code documentation is available here.
The aim of the project is to provide University of Portsmouth students with an interactive map showing university buildings. The app allows the user to sign in with Google to display their university timetable within the app (subject to the user linking their port.ac.uk timetable with Google).
Although not yet implemented, the project aims to provide navigational features to the user, such as providing bus routes and walking paths to university buildings.
Strikethrough indicates user requirements that have not yet been implemented.
Dependency | Purpose in project |
---|---|
google_maps_flutter, google_maps_flutter_android, google_maps_flutter_platform_interface | Provides an interactive map and tappable building markers |
google_sign_in | Provides Google OAuth 2.0 connecivity |
googleapis, googleapis_auth, extension_google_sign_in_as_googleapis_auth | Google Calendar API connectivity |
intl | Provides date formatting |
sqflite, sqflite_common_ffi | SQLite database implementation for local storage of building information |
provider | Provides dependency injection within widgets |
carousel_slider | Provides a scrollable image carousel for building floor plans |
flutter doctor
for the presence of Android Studioflutter run -d emulator
The side drawer of the app features the building information tab, building search tab and the timetable/calendar tab.
The interactive map provides a view of the Portsmouth and surrounding areas. The map displays university buildings, supermarkets and social buildings as markers on the map.
Tapping on a building marker opens the side panel, showing information about the building such as its address, floor plan and a button to favourite or unfavourite the building.
The app allows the user to sign in with Google to display their university timetable within the app (subject to the user linking their port.ac.uk timetable with Google).
The user can view their timetabled sessions for the current day, previous days or days in the future. Each timetable entry displays the name of the session, the start and end times and the building and room number.
The search tab allows the user to find a specific building by search term. The user can also filter buildings by their type (university, supermarket, social, or all three) and also the building's favourite status.