Documentation
# Route Design

## user pages

need authentication

| method(s)  | path                     | description             |
| ---------- | ------------------------ | ----------------------- |
| GET        | /home/                   | timeline                |
| GET        | /home/posts/             | my posts                |
| POST       | /home/posts/new          | create a new post       |
| GET,POST   | /home/posts/_:uuid_      | my post                 |
| GET        | /home/likes/             | my liked posts          |
| PUT,DELETE | /home/likes/_:uri_       | like/unlike             |
| GET        | /home/shares/            | my shared posts         |
| PUT,DELETE | /home/shares/_:uri_      | share/unshare           |
| GET        | /home/followings/        | my following Actors     |
| PUT,DELETE | /home/followings/_:uri_  | follow/unfollow         |
| GET        | /home/subscribers/       | Actors who subscribe me |
| DELETE     | /home/subscribers/_:uri_ | block                   |
| GET,POST   | /home/profile            | my profile              |
| GET,POST   | /home/settings           | settings                |
| GET        | /home/authenticate       |                         |
| GET        | /home/logout             |                         |

## well-known URIs

| method | path                   | description                                                                |
| ------ | ---------------------- | -------------------------------------------------------------------------- |
| GET    | /.well-known/host-meta | [RFC 6415: Web Host Metadata]https://www.rfc-editor.org/rfc/rfc6415.html |
| GET    | /.well-known/webfinger | [RFC 7033: WebFinger]https://www.rfc-editor.org/rfc/rfc7033.html         |

## ActivityPub endpoints

| method | path                                    | description                           |
| ------ | --------------------------------------- | ------------------------------------- |
| GET    | /activitypub/me                         | my Actor object                       |
| POST   | /activitypub/inbox                      | my (shared) inbox                     |
| GET    | /activitypub/outbox                     | my outbox                             |
| GET    | /activitypub/followers                  | Actors who follow me                  |
| GET    | /activitypub/following                  | my following Actors                   |
| GET    | /activitypub/posts/_:uuid_              | a post object                         |
| GET    | /activitypub/posts/_:uuid_/replies      | replies to the post                   |
| GET    | /activitypub/activities/create/_:uuid_  | `Create` Activity of the post         |
| GET    | /activitypub/activities/like/_:uri_     | `Like` Activity to the object URI     |
| GET    | /activitypub/activities/announce/_:uri_ | `Announce` Activity to the object URI |

## public resources

| path                  | description   |
| --------------------- | ------------- |
| /public/me            | my profile    |
| /public/posts/_:uuid_ | a public post |