Conduit
Conduit is a social blogging site: it is a Medium.com clone.
You can view a live demo at: demo.realworld.io
General functionality
As a blogging platform, Conduit’s functionality is based around authors publishing articles.
- Authenticate users via JWT3.
- Register, view, and update users.
- Publish, edit, view, and delete articles.
- Create, view, and delete comments on articles.
- Display paginated lists of articles.
- Favourite articles.
- Follow other users.
API specs
Conduit uses a custom REST API for all requests, including authentication.
We will be implementing a backend that must adhere to the Conduit API specs.
| HTTP verb | URL | Action | |
|---|---|---|---|
| POST | /api/users/login | Login a user | |
| POST | /api/users | Register a user | |
| GET | /api/user | Get current user | |
| PUT | /api/user | Update current user | |
| GET | /api/profiles/:username | Get profile | |
| POST | /api/profiles/:username/follow | Follow user | |
| DELETE | /api/profiles/:username/follow | Unfollow user | |
| GET | /api/articles | List articles | |
| GET | /api/articles/feed | Feed articles | |
| GET | /api/articles/:slug | Get an article | |
| POST | /api/articles | Publish an article | |
| PUT | /api/articles/:slug | Update an article | |
| DELETE | /api/articles/:slug | Remove an article | |
| POST | /api/articles/:slug/comments | Comment on an article | |
| GET | /api/articles/:slug/comments | Get comments on an article | |
| DELETE | /api/articles/:slug/comments/:id | Remove an comment | |
| POST | /api/articles/:slug/favorite | Favorite an article | |
| DELETE | /api/articles/:slug/favorite | Unfavorite an article | |
| GET | /api/tags | Get tags |
The full API specs are detailed in Appendix I.