Social Api is an example of a working version of api for a social network on Node Express
- Express
- MongoDB
- Mongoose
- Babel 7
- Mocha
npm install
npm -g eslint
MONGO_TEST_URI=mongodb+srv://<user>:<password>@<host>/<collection>
MONGO_URI=mongodb+srv://<user>:<password>@<host>/<collection>
SESSION_SECRET=secret
NODE_ENV=test
npm run start
npm run test
npm run test:watch
npm run lint
npm run lint:fix
- POST:
/auth/login
login with
{"email": "string", "password": "string"}
- GET:
/auth/logout
logout - POST:
/auth/signup
SignUp with
{"email": "string", "password": "string", "name": "string", "lastName": "string"}
- GET:
/users/me
get current user - GET:
/users/:userId
get user by Id - GET:
/users/
find all users
- POST:
/posts/
create new post form user
{"title": "string", "body": "string"}
- GET:
/posts/:postId
get posts by Id - GET:
/posts/user/:userId
get posts by userId - GET:
/posts/
find all posts - POST:
/posts/:postId/up
upVote post by postId - POST:
/posts/:postId/down
downVote post by postId
- POST:
/api/auth/login
login with
{"email": "string", "password": "string"}
- GET:
/api/auth/logout
logout - GET:
/api/auth/logoutall
logout on all devices - POST:
/api/auth/signup
SignUp with
{"email": "string", "password": "string", "name": "string", "lastName": "string"}
With Bearer Authorization
- GET:
/api/users/me
get current user - GET:
/api/users/:userId
get user by Id - GET:
/api/users/
find all users
- POST:
/api/posts/
create new post form user
{"title": "string", "body": "string"}
- GET:
/api/posts/:postId
get posts by Id - GET:
/api/posts/user/:userId
get posts by userId - GET:
/api/posts/
find all posts - POST:
/api/posts/:postId/up
upVote post by postId - POST:
/api/posts/:postId/down
downVote post by postId
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.