# Route Design
## user pages
need authentication
| 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
| 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
| 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
| /public/me | my profile |
| /public/posts/_:uuid_ | a public post |