GithubHelp home page GithubHelp logo

orange-evolution-back-end's Introduction

Projeto do desafio do Hackathon - Programa de Formação Season 4

Orange Evolution - Back-end

Aplicação com o objetivo de disponibilizar cursos gratuitos para quem deseja estudar sobre tecnologis. Aplicação conta inicialmente com 3 trilhas:

  • Desenvolvimento Full Stack
  • Ux/Ui Designer
  • QA (Quality Assurance).

Requisitos

  • NodeJs v16.15.1
  • Banco de dados PostgresSQL
  • *Opicional: Docker

Tecnologias usadas

  • NodeJs
  • Express
  • Knex
  • Dotenv
  • Joi
  • JWT - Json Web Token
  • Bcrypt
  • Cors
  • Express Async Errors
  • Swagger Ui Express
  • Nodemon
  • Pg

Funcionalidades

  • Rota de cadastro de novos usuários
  • Rota de listagem de Trilhas (cursos)
  • Rota de listagem de aulas por trilha
  • Rota de seleção da trilha por parte do usuários
  • Rota de para cadastar/alterar o status da aula
  • Rota pra adicionar novas aulas - Somente administrado
  • Rota para editar aula - Somente administrado
  • Rota para apagar aula - Somente administrado
  • Middleware de autenticação do usuários
  • Middleware de autenticação do administrador
  • Middleware de error (error handle)
  • Schema de validação do corpo da requisição

Rodando localmente

clone o repositório

Usando chave ssh

[email protected]:orange-squad-thirty-two/orange-evolution-back-end.git

Sem chave ssh

https://github.com/orange-squad-thirty-two/orange-evolution-back-end.git

Entrar na pasta

cd orange-evolution-back-end

Instalar as dependencias

npm install

Start na aplicação

npm run dev

A API roda na port

http://localhost:3333/

Observação: O banco de dados precisa esta rodando;

Você pode usar o banco de dados localmente intalado em sua máquia ou pode optar por usar um container Docker; Se opar por usar o Docker segue comando que deverár usar no terminal:

docker run --name postgres_container -e "POSTGRES_PASSWORD=12345678" -p 5432:5432 -d postgres

Banco de dados

Na raiz do projeto existe um arquivo de nome dump.sql que contem as query para gerar o bando de tados e suas tabelas, bem com popular com dados das aulas. Só copiar para a ferramenta que você utiliza para manipular banco de dados Postgres Exemplo de ferramentas: PgAdimin 4 Beekeeper Studio

Ao gerar o banco de dados e popular ele, será criado um usuário administrador que tera os seguintes dados:

Você deverá cadastrar um usuário para acessar a aplicação e começar a consumir as aulas

Variáveis de Ambiente

Para rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu .env

  • Renomei o arquivo .env.exemple para .env

  • Altere os valores das variáveis para os valores que você usa no banco de dados que esta instalado na sua máquina

PORT=
DB_PORT=
DB_HOST=
DB_USER=
DB_NAME=
DB_PWD=

SECRET_KEY=

Documentação da API

Após feito os primeiros passos de entar na pasta, instalar as dempendências, e rodar a aplicação. Acesse o seu navegador e digite ou copie e cole o seguinge:

Local

http://localhost:3333/api-docs/

Em Produção

E tera ascesso a Documentação da API criada utilizando o Swagger Ui Express

Autor

orange-evolution-back-end's People

Contributors

eemr3 avatar rafael93souza avatar

Stargazers

Guilherme Silva avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.