Backend API for Moo using Nest framework (NodeJS + TypeScript + PostgreSQL)
Moo is a parody of Twitter. Further information about features and DB schema requirements can be found on this discussion board : scaleracademy/open-source-projects#81
The UI is being designed on Figma if you'd like to view
If you'd like to see how the initial project was built please watch the following YouTube video
$ npm install
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov
create database moodb;
create user mooadmin with password 'moopass';
grant all privileges on database moodb to mooadmin;
-
auth
-
POST /auth/login
-
-
users
-
GET /users
📃 -
GET /users/@{username}
-
GET /users/{userid}
-
POST /users
-
PATCH /users/{userid}
🔒 -
PUT /users/{userid}/follow
🔒 -
DELETE /users/{userid}/follow
🔒 -
GET /users/{userid}/followers
📃 -
GET /users/{userid}/followees
📃
-
-
posts
-
GET /posts
📃- filter by author
- filter by replyTo
- filter by origPosts
- full-text-search on post content
-
GET /posts/{postid}
-
POST /posts
🔒- simple posts
- reply to a post
- repost / quote post
- #hashtags
- @mentions
-
DELETE /posts/{postid}
🔒 -
PUT /posts/{postid}/like
🔒 -
DELETE /posts/{postid}/like
🔒
-
-
hashtags
-
GET /hashtags
📃 -
GET /hashtags/{tag}/posts
📃
-
This project is under the GNU AGPL v3.0 license