diff --git a/subjects/mobile-dev/hacker-news/README.md b/subjects/mobile-dev/hacker-news/README.md index 4b8c1c65b..d5c410944 100644 --- a/subjects/mobile-dev/hacker-news/README.md +++ b/subjects/mobile-dev/hacker-news/README.md @@ -1,36 +1,31 @@ -# Hacker news +## Hacker news -### Introduction +Hacker News is a social news website that mainly focuses on computer science and entrepreneurship. The objective of this task is to create a client with all the main features of the [HackerNewsAPI](https://github.com/HackerNews/API). -Create your own hackernews [app](https://news.ycombinator.com/)! +### Instructions -Hacker News is a social news website, which mainly focusses on Computer Science and Entrepreneurship. You will make a client consisting of all the main features of the website. +Your app should have the following functionalities: -### Objective +- Login button. Once you tap it a log in page must be displayed. +- Show a list of all fetched `posts` on the main screen. +- Each `post` should have an `upvote` option for voting. +- Each `post` should display the total number of votes and comments they have. +- Display the `username` of the `post` creator. +- Display the submission time of the `post`. +- Open the link in a [Webview](https://codelabs.developers.google.com/codelabs/flutter-webview#0) when a `post` is tapped. + - The user must be able to return to the main page once in the `webview`. -Your objective for this raid is to create UI for [HackerNewsAPI](https://github.com/HackerNews/API). +On the website, users can `Post`, `Comment`, or `Reply` **only when they have an account**. -Your app should have following functionality: +- You have to register using the [website](https://news.ycombinator.com/). In other words, you must be able to login with your actual login and password from the Hacker News website. +- Login using your app. Observe how the login is done on the [website](https://news.ycombinator.com/) and emulate it. -- Show list of all fetched posts on main screen: - - Login button - - Each Post has an Upvote option to vote the post - - Each Post displays Total Votes and Total Comments on them - - Displays the Username of the Creator - - Displays the Submission Time - - Open link in a [Webview](https://codelabs.developers.google.com/codelabs/flutter-webview#0) when post is tapped. +When users are logged in, they should be able to: -On the website, we can Post, Comment, or reply **only when we have an account**. +- `Create` new posts which will have: + - `title`, `URL`, and a `description`. +- `Delete` their own posts. +- `Upvote` or hide/remove their votes. +- `Log out`. -- You have to register using the [website](https://news.ycombinator.com/). -- Login using your app. Observe how log in is done on the [website](https://news.ycombinator.com/), and emulate it. - -When users logged in, they should be able to: - -- Create new posts. They should have: - - Title, URL and the Description. -- Delete own post. -- Make up-vote or hide their vote. -- Log out. - -- Note: if user is not loggen in, but tries to access above mentioned actions, send user to login page of the app. +> Note: If the user is not logged in but tries to access any of the above-mentioned actions, the user should be sent to the login page of the app. diff --git a/subjects/mobile-dev/hacker-news/audit/README.md b/subjects/mobile-dev/hacker-news/audit/README.md index 1adbfc930..0e1072597 100644 --- a/subjects/mobile-dev/hacker-news/audit/README.md +++ b/subjects/mobile-dev/hacker-news/audit/README.md @@ -1,17 +1,29 @@ #### 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) +###### Does the app show a list of all fetched posts on the main screen? -###### Does app shows all fetched posts? +###### When you tap on a post, does it open the content in a `webview`? -###### Tap any post, does it open webview of the content? +###### Is it possible to go back to the main page from the `webview`? -###### Can you go back to the main page? +###### When you tap on the login button, does it open the login page? -###### Tap login page. Does it open route to login? +##### Login with your actual login and password from the Hacker News website -###### Can you login with actual login and password from the website? +###### Can you confirm that it was possible to login? -###### After loggen in, try to upvote, comment, hide upvote on posts and see that it is reflected on the actual website. +###### Can you `create` a new post? -###### You should **not** be able to create posts, upvote, etc as **not** logged in user. Is that the case? +###### Can you, `upvote`, `comment`, and `hide/remove upvotes` on posts and see that it is reflected on the actual website? + +###### Does each post display the `username` of the creator, and the total number of `upvotes` and `comments` that the post has received? + +###### Is it possible to see the submission time of the post? + +###### Can you `Delete` a post? + +##### Try to log out. + +###### Can you confirm that it is possible to log out? + +###### As a non-logged in user, are you prevented from `create`, `delete`, `comment`, `upvote` and `remove upvotes` on posts?