Professional Documents
Culture Documents
User Authentication
Register (ui=done)
Users should be able to register theirselves into the web app by submitting an email,
username, and password. After a user has submitted their registration form, an email should
be automatically sent to verify their account.
1. User can input email, username, password, and repeat password. DONE
2. Emails should be unique and its format should be validated (proper email format).
DONE
3. Usernames should be unique. DONE
4. Passwords should contain at least 8 characters including an uppercase letter, a symbol,
and a number. DONE
5. Newly registered users will have a status of unverified, they will need to verify
theirselves through a link sent to their email. DONE
6. Throttle registration requests by disabling the register button until a response is
received.
7. Display proper error messages for cases such as weak password, used email or
username, and other erros.
8. This page shouldn’t be accessible by users if they are logged in
Login (ui=done)
Users should be able to login using credentials that the user has registered with. Verified
users should be able to login using their username or email, and password. Non-verified users
should still be able to log in, but they cannot interact with the web app’s features other than
resending a verification link.
1. User can input their username or email (one field) and password.
2. Password visibility can be toggled.
3. Automatically redirect to home page upon successful login.
4. Display proper error messages when password is incorrect.
5. Throttle registration requests by disabling the login button until a response is
received.
Verification
Users should be able to verify their account by clicking a link sent to the users’ email upon
finishing the registration process.
User Profiling
User Info / Detail (ui=done)
Create a page to display and edit the user’s information. Users can complete their personal
information such as full name, bio, username, and profile picture. If a user hasn’t verified
their email, they can request to resend a verification link in this page.
</aside>
3. Send verification email button when user hasn’t verified their email. Hide the button
when a user is verified
Delete Content
After a post has been created, the user should be able to delete the post
Content Interaction
Fetching Posts
Create a page dedicated for posts to be displayed. Since there isn’t any “followers /
following” mechanism in this web app, posts created by all users should be displayed in this
page. Paginate the posts list using infinite scroll.
Post Detail
Create a page dedicated for a post’s detail. Display the post’s complete information such as
the user’s username, post created date, the post’s media/image, number of likes, and most
recent comments.
Comment
Any user should be able to comment on any post. Create an input for users to submit their
comments. Show the user’s username and the comment’s created date when displaying
comments in a post.
Like / Unlike
Add a like button for users to like each other’s posts (even their own posts). The like button
should act as a toggle. Meaning that when a post is liked, the like button should automatically
turn into an “unlike” button which can be used to undo the user’s action.