Scenario

You are making the RESTful API for social network application.

To kick things off, your product owner has asked you to begin working on features for user authentication & following. Sounds simple, right?

User Story

  1. As a user, I can register a new account with email, username & password.
  2. As a user, I can login with email (or username) & password to an existing account.
  3. As a user, I can follow/unfollow other users.
  4. As a user, I can view my following.
  5. As a user, I can view my followers.

What Does Following and Followers Mean?

  • Following refers to the list of users that you follow.
  • Followers are the users that follow you.

Requirement

  1. Implement RESTful APIs with Go to handle above stories. You may select any framework & database, ...
  2. Write tests for implemented APIs.
  3. Create API document using Swagger.

Submission

After completing the assignment, please push the source code to remote repository (github/gitlab), then send us the link.

Don't forget to add README.md which contains instructions on how to run your project locally.

GOOD LUCK!!!