- Node
- NPM, built into Node.
- Yarn
- MongoDB or MondoDB Atlas
- Postman or Insomnia or any client api rest.
Make sure you have yarn installed, run on console.
> yarn --version
If it return an error, please install yarn.
> npm install -g yarn
> git clone https://github.com/jestrade/api-make-it-real-2021.git
> cd api-make-it-real-2021
> yarn
- Configuration Example:
- HTTP_HOST -> IP of server, default is 127.0.0.1.
- HTTP_PORT -> Node listening port, default is 3000.
- LOG_ACCESS -> Path where the logs will be stored, don't specify the path, just the file name, default
access.log
. - JWTKEY -> Is used by JWT to sign the token.
- APIWEATHERKEY -> Is used to consume the API.
- DB_CONNECTION_STRING -> Connection string to connect mongodb database
- SALT_ROUNDS -> Controls how much time is needed to calculate a single BCrypt hash, default is 10.
- MAILER_HOST -> xx
- MAILER_PORT -> xx
- MAILER_USER -> xx
- MAILER_PASSWORD -> xx
- MAIL_FROM -> xx
- TWITTER_CONSUMER_KEY -> xx
- TWITTER_CONSUMER_SECRET -> xx
- TWITTER_TOKEN_KEY -> xx
- TWITTER_TOKEN_SECRET -> xx
Example connection string local, more info. MongoDB.
mongodb://username:password@host:port/database
Example connection string in cloud, more info MondoDB Atlas.
mongodb+srv://<username>:<password>@cluster0.rwp0b.mongodb.net/myFirstDatabase?retryWrites=true&w=majority
Rename .env.example to .env, and set parameters required, please dont include env:
.
env:
# This is parameters required.
HTTP_HOST=
HTTP_PORT=
LOG_ACCESS=
JWTKEY=
APIWEATHERKEY=
DB_CONNECTION_STRING=
SALT_ROUNDS=
MAILER_HOST=
MAILER_PORT=
MAILER_USER=
MAILER_PASSWORD=
MAIL_FROM=
TWITTER_CONSUMER_KEY=
TWITTER_CONSUMER_SECRET=
TWITTER_TOKEN_KEY=
TWITTER_TOKEN_SECRET=
> yarn add -D nodemon
> yarn run seeds
Run project without nodemon
> yarn start
Run project with nodemon
> yarn run dev
> yarn run test
https://api-make-it-real-2021.herokuapp.com
Methods | ||||
URL | GET | POST | PUT | DELETE |
/ | error | error | error | error |
/users | List all users
|
Create user
body:
|
error | Delete user
body:
|
/users/:id | Display user information: id
|
error | Update user: id
|
error |
/users/login | error | Authenticate user
|
error | error |
/tweets | List all tweets
|
Create tweet
body:
|
error | Delete tweet
body:
|
/tweets/:id | List tweet info and comments
|
error | error | error |
/tweets/comments | error | Create tweet
body:
|
error | Delete tweet
body:
|
/tweets/likes | error | error | Create tweet
body:
|
error |
/tweets/comments/:id | error | error | ||
/tweets/external/:username | Get tweets from real Twitter | error | error | |
/weather/:city | Get weather from city
|
error | error | error |