mirror of https://github.com/01-edu/public.git
2 changed files with 81 additions and 21 deletions
@ -1,20 +1,56 @@
|
||||
### Introduction: |
||||
## kahoot |
||||
|
||||
The mobile app we are creating is designed to allow users to connect with their friends and track their last known location. Upon logging into the app via email, users will be able to search for their friends by email and send friend requests. Once two users have become friends within the app, they will be able to see each other's last known location when the app was turned on. |
||||
### Instructions |
||||
|
||||
The app will use location tracking technology to determine the last known location of each user. This technology will be able to determine the user's location within a certain degree of accuracy, depending on the capabilities of the device being used. |
||||
The mobile app You will need to develop is designed to allow users to connect with their friends and track their last known location. Upon logging into the app via email, users need to be able to search for their friends by email and send friend requests. Once two users have become friends within the app, they will be able to see each other's last known location when the app is turned on. |
||||
|
||||
Overall, the app is designed to be a fun and interactive way for users to stay connected with their friends and see where they've been. Whether you're meeting up for a night out on the town or just keeping tabs on your friends' whereabouts, this app is sure to be a hit with anyone who loves mobile technology. |
||||
The app needs to use location tracking technology to determine the last known location of each user. This technology will be able to determine the users location within a certain degree of accuracy, depending on the capabilities of the device being used. |
||||
|
||||
Overall, the app is designed to be a fun and interactive way for users to stay connected with their friends and see where they've been. Whether you're meeting up for a night out on the town or just keeping tabs on your friends whereabouts, this app is sure to be a hit with anyone who loves mobile technology. |
||||
|
||||
This app is fullstack, therefore you will have to implement both backend and frontend for the project. For the frontend part, make sure to add following functionality: |
||||
|
||||
- Users authenticate via email |
||||
- Ability to search friends via email |
||||
- Sending 'friends' request |
||||
- Denying/accepting 'friends' request |
||||
- Deleting from 'friends' list |
||||
- Seeing your friends last location |
||||
- Authentication via email: |
||||
|
||||
- Implement a secure and user-friendly email authentication mechanism. |
||||
|
||||
- Ability to search for friends via email: |
||||
|
||||
- Design a search feature that enables users to find their friends efficiently. |
||||
|
||||
- Sending friends request: |
||||
|
||||
- Create a user-friendly interface to send friend requests and implement the appropriate validation to avoid duplicate requests or invalid email addresses. |
||||
|
||||
- Denying/Accepting friend requests: |
||||
|
||||
- Provide clear and intuitive options for users to accept or decline incoming friend requests. |
||||
|
||||
- Deleting friends from the list: |
||||
|
||||
- Design a straightforward process for users to remove friends from their friend list. |
||||
|
||||
- Viewing friends last known location on the map: |
||||
|
||||
- Develop a visually appealing and informative display to show your friends locations incorporating `maps` or `geolocation` services to provide accurate location data. |
||||
|
||||
To keep users location up to date, each time the app is open, current location must be sent to the server every 5 seconds. |
||||
|
||||
Backend implementation and Swagger details: |
||||
|
||||
- Refer to the provided [swagger.yml](swagger.yml) file for backend implementation details. |
||||
- Ensure the backend functionality aligns with the frontend requirements. |
||||
|
||||
#### Hints |
||||
|
||||
To ensure accurate location tracking and smooth backend integration, keep the following points in mind: |
||||
|
||||
- Location tracking technology: |
||||
|
||||
- Utilize appropriate location tracking technologies compatible with various devices. |
||||
- Account for different levels of accuracy based on the capabilities of the user's device. |
||||
|
||||
To keep users' location up to date, each time the app is open, current location must be sent to the server every 5 seconds. |
||||
- Sending location updates to the server: |
||||
|
||||
To see more details on the backend part of the project, please look at the provided swagger. |
||||
- Implement a mechanism that sends the user's current location to the server. |
||||
- Set the interval to every 5 seconds when the app is open to maintain up-to-date location data. |
||||
|
@ -1,19 +1,43 @@
|
||||
#### Functional |
||||
|
||||
#### In order to run and hot reload app either on emulator or device, follow the [instructions](https://docs.flutter.dev/get-started/test-drive?tab=androidstudio#run-the-app). |
||||
#### In order to run and hot reload the app either on emulator or device, follow the [instructions](https://docs.flutter.dev/get-started/test-drive?tab=androidstudio#run-the-app). |
||||
|
||||
###### Was the app committed within the required time period? |
||||
###### Does the app run without crashing? |
||||
|
||||
###### Does the app run without crashes? |
||||
##### Ask the student to show you the implementation of the `backend` and `frontend` for the project. |
||||
|
||||
###### Try loggin in. Can you authenticate via gmail? |
||||
###### Did the student implement both `backend` and `frontend` for the project? |
||||
|
||||
###### When 2 players are join game session, can a player with white pieces start the game? |
||||
##### Try to `authenticate via email`. |
||||
|
||||
###### Try doing illegal moves, i.e. moving pawn 3 squares up, castling after moving the king, moving rook diagonally, etc. Does the app prevent such illegal moves? |
||||
###### Can users `authenticate via email`? |
||||
|
||||
###### After a move is played, does the other player receive the move? |
||||
##### Try to search for friends using their `email`. You can do this by creating two different accounts. |
||||
|
||||
###### Play the game until one player is mated, does the game stop? |
||||
###### Is it possible to search for friends by `email`? |
||||
|
||||
###### Do chess moves come with appropriate Long algebraic notation? |
||||
##### Try to send a friend request. |
||||
|
||||
###### Can users send friend requests? |
||||
|
||||
##### Try to `Accept` the friend request. |
||||
|
||||
###### Can users `Accept` friend requests? |
||||
|
||||
##### Check if the friend was `Added` to the `friends list`. |
||||
|
||||
###### Was the friend `Added` to the `friends list`? |
||||
|
||||
##### Try to `Delete` the friend form the `friends list`. |
||||
|
||||
###### Is it possible to `Delete` friends from the `friends list`? |
||||
|
||||
##### Try to send a new friend request but this time `Deny` it. |
||||
|
||||
###### Can users `Deny` friend requests? |
||||
|
||||
##### Check if the student successfully implement `location` tracking to determine the last known `location` of each user. |
||||
|
||||
###### Can users see their friends last known `location` in the map? |
||||
|
||||
###### Was the `location` sent to the server `every 5 seconds` each time the app was opened? |
||||
|
Loading…
Reference in new issue