Tourist Attraction App

155 views 9:57 am 0 Comments August 4, 2023

Tourist Attraction App
(30% of overall grade)
Group Size
This project should be completed in groups of maximum 2
learners.
If you want, you may work alone.
Due Date
See course webpage
Submission Instructions
An electronic copy of your work (you code) should be
uploaded to the dropbox by the code due date.
Provide 1
submission per group.
Assessment Regulations & Late Submissions
Students found submitting projects with some or all of their
code duplicated will result in 0 marks to all parties involved.
Logic Guidelines
Where appropriate, use object oriented programming
principles (example: Movie class)
Data between screens must be passed using intents.
Where appropriate, data must be persisted with
SharedPreferences and/or SQLite.
Data saved to SQLite should be accessed and written to
using the Room Persistence Library
App Description
Project: Tourism App with And…
App Description
In this project, you will create an app that promotes tourism in a city
of your choice.
The app consists of three screens:
1. Login screen: Allows the user to login to the app
2. Attractions List Screen: Displays a list of the attractions in
the city and the user’s favorites list.
3. Details Screen: A screen with more information about a
specific attraction
Your app should have the following features.
User account login
1. Provide a screen that would allow users to login with a username
and password. Valid usernames and passwords are listed in the
table below.
2. The screen must have a
Remember Me checkbox. If the box is
checked, the user should be automatically logged in and navigated
to the Home screen.
3. Your application must work with the following two users.

username password
thanos 5555
wonderwoman abcd

4. These users must be loaded into the application the first time the
database is created.
Examples of how to do this are here:

https://stackoverflow.com/a/55741040
And here:
https://medium.com/android-news/pre-populate-roomdatabase-6920f9acc870
5. The screen must provide validation on the username/password.
Appropriate error messages must be shown if:
The username does not exist
The username/password combination is incorrect.
Sample user interface
Home Screen:
After logging in, the user is directed the Home Screen.
The Home Screen displays:
A link to the Tourist Attractions List screen
A list of attractions the user has favourited (if any). This
section should be hidden if there are no favorites.

Tourist Attractions List:
The Tourist Attractions screens displays a list of popular tourist
attractions in the city.
1. The list must display the attraction name, address, and a photo.
2. The data for your list of attractions must be loaded from a
database table and shown in a ListView.
3. You must show a minimum of 3 tourist attractions.
Sample user interface
Attraction Details Screen:
Attraction Details Screen:
Clicking on an attraction in the list should navigate the user to an
Attraction Details screen.
1. This screen should display a screen that shows more detailed
information about the attraction. On this page you must show the
name, address, phone no, website, photo, description and pricing.
Clicking on the attraction’s phone number will automatically
open the phone dialer so the user can attempt to call said
place.
Clicking on the website will automatically open a browser
displaying the website
2. The screen should also contain a
Rating Bar where the user can
rate the attraction. The user’s rating for an attraction should be
saved to the database
3. If the database has a rating stored for an attraction, load that
rating when the screen is displayed.
4. Any user can change the rating; and, the rating bar will always
display the most recent rating. Any new ratings will override old
ratings. In other words, each attraction will only ever have 1 rating
associated with it.
Sample User Interface
Navigation & Logout
The user should be able to navigate the app as follows:
At any point in the application, the user must be able to logout.
Logging out will:
Return the user to the login screen
Delete any “remember me” settings associated with the user
Suggested Database Model
Here is an example of how you can store the data:

Tags: , , , , , , , , , , ,