Skip to content

NLW Valozira, é uma API desenvolvida com NodeJS, com o objetivo de conectar e valorizar as pessoas através de elogios.

Notifications You must be signed in to change notification settings

jocimarjsc/nlwValoiza

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo


NextLevelWeek 6.0

🙇🏻‍♂️ O que é a Next Level Week?

A NLW ou Next Level Week, é um evento online, totalmente gratuito, oferecido pela Rocketseat, que consiste, em uma semana com muito conteúdo prático, cheios de desafios e com um projeto que nos ajudará a avançar e atingir o próximo nível.

Rocketseat 🚀

🌍 Dias

  • Dia 1: Liftoff 20/06 ✔️
  • Dia 2: Maximum Speed 21/06 ✔️
  • Dia 3: In Orbit 22/06 ✔️
  • Dia 4: Landing 23/06 ✔️
  • Dia 5: Surface Exploration 24/06 ✔️

💻 Projeto - NLW Valoriza

NLW Valozira, é uma API desenvolvida com NodeJS, com o objetivo de conectar e valorizar as pessoas através de elogios.

⛏️ Tecnologias

  • Node JS
  • Typescript
  • Express
  • Typeorm
  • express-async-errors
  • reflect-metadata
  • class-transformer
  • PostgreSql
  • bcryptjs
  • JWT
  • uuid
  • cors
  • dotenv

💻 Como Executar

# Clone
$ git clone https://github.com/jocimarjsc/nlwValoiza.git

# Install Dependencies 
$ cd NLW-Together && yarn install

# Rename file ".env.example" to ".env"
$ mv .env.example .env

# Instale o banco PostgreSql e configure um banco de dados, mude todo o conteúdo de ormconfig.json utilizando o techo de código abaixo.
{
    "type": "postgres",
    "host": "localhost",
    "port": 5432,
    "username": "usuário do seu banco",
    "password": "senha do seu banco",
    "database": "nome do seu banco",
    "entities": [
       "src/entities/**.ts"
    ],
    "migrations": [
       "src/database/migrations/**.ts"
    ],
    "cli": {
       "migrationsDir": "src/database/migrations",
       "entitiesDir": "src/entities"
    }
 }

# Execute
$ yarn dev

🔥 Como Utilizar

Abaixo é exibido a forma de utilização da API.

/*
* Add a new User
* @Route("http://localhost:3333/users, method={"POST"}")
*/
fetch(url, {
    method: 'POST',
    body: JSON.stringify({
      name: "Admin",
      email: "admin@admin.com.br",
      password: "admin",
      admin: true // true or false
	}),
    headers: {
    	"Content-type": "application/json; charset=UTF-8"
    }
})
/*
* Create a session to receive a token
* @Route("http://localhost:3333/login, method={"POST"}")
*/
fetch(url, {
    method: 'POST',
    body: JSON.stringify({
      email: "admin@admin.com.br",
      password: "admin"
	}),
    headers: {
    	"Content-type": "application/json; charset=UTF-8"
    }
})
/*
* List Tags
* @Route("http://localhost:3333/tags, method={"GET"}")
*/
fetch(url, {
    method: 'GET',
    headers: {
        "Content-type" : "application/json",
        "Authorization" : "Bearer {token}"
    }
})
/*
* Add a new tag if you are an administrator
* @Route("http://localhost:3333/tags, method={"POST"}")
*/
fetch(url, {
    method: 'POST',
    body: JSON.stringify({
        name: "Inspiration"
    }),
    headers: {
        "Content-type": "application/json; charset=UTF-8",
        "Authorization" : "Baerer {token}"
    }
})
/*
* List Users
* @Route("http://localhost:3333/users, method={"GET"}")
*/
fetch(url, {
    method: 'GET',
    headers: {
        "Content-type": "application/json; charset=UTF-8",
        "Authorization" : "Baerer {token}"
    }
})
/*
* Add a new compliment
* @Route("http://localhost:3333/compliment, method={"POST"}")
*/
fetch(url, {
    method: 'POST',
    body: JSON.stringify({
        tag_id: "{tag_id}",
        user_receiver: "{receiver_user_id}",
        message: "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
    }),
    headers: {
        "Content-type": "application/json; charset=UTF-8",
        "Authorization" : "Baerer {token}"
    }
})
/*
* List of compliments sent by user
* @Route("http://localhost:3333/users/compliments/send, method={"GET"}")
*/
fetch(url, {
    method: 'GET',
    headers: {
        "Content-type": "application/json; charset=UTF-8",
        "Authorization" : "Baerer {token}"
    }
})
/*
* List of compliments received 
* @Route("http://localhost:3333/users/compliments/receive, method={"GET"}")
*/
fetch(url, {
    method: 'GET',
    headers: {
        "Content-type": "application/json; charset=UTF-8",
        "Authorization" : "Baerer {token}"
    }
})

Feito por Jocimar Costa 😊

About

NLW Valozira, é uma API desenvolvida com NodeJS, com o objetivo de conectar e valorizar as pessoas através de elogios.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published