Skip to content

RESTfull API and database for back-end web application that implements a CRUD for blog post content (Project developed during the Trybe course).

Notifications You must be signed in to change notification settings

AlvaresJu/blogs_api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blogs API Project

Blogs API Doc Screen Shot

Sumário

  1. Sobre o Projeto
  2. Para Iniciar a Aplicação Localmente
  3. Contribuições e Autoria

Sobre o Projeto

O projeto Blogs API é uma aplicação back-end composta por uma API REST, que acessa banco de dados relacional, com rotas para cadastro e manipulação de conteúdo de blog posts.

Contexto

Esse projeto foi desenvolvido por Juliana Álvares, como parte do processo de aprendizado do Módulo de Back-end, do curso de Desenvolvimento Web da Trybe 🚀

"A Trybe é uma escola do futuro para qualquer pessoa que queira mudar de vida e construir uma carreira de sucesso em tecnologia, onde a pessoa tem a possibilidade de só pagar quando conseguir um bom trabalho."

O programa conta com mais de 1.500 horas de aulas presenciais e online, aborda introdução ao desenvolvimento de software, front-end, back-end, ciência da computação, engenharia de software, metodologias Ágeis e habilidades comportamentais.

Tecnologias Utilizadas

Back-end:

  • MySQL
  • Node.js
  • Express
  • Sequelize
  • JWT

Linguagens:

  • JavaScript - ES6

Auxiliares (Execução, Documentação e Deploy):

  • Docker
  • Postman
  • Railway

Funcionalidades Implementadas

  • Construção de banco de dados MySQL, utilizando a ORM (Object Relational Mapper) Sequelize, com base no seguinte diagrama de Entidade-Relacionamento fornecido pela Trybe:

    Diagrama ER do Banco Fonte: TRYBE, 2022

  • API REST com os seguintes endpoints, conectados ao banco de dados, desenvolvida em modelo de camadas MSC (Model, Service e Controller):

    Blogs API Routes Screen Shot

    Obs.: A explicação detalhada de cada rota pode ser acessada na Documentação da API.

Para Iniciar a Aplicação Localmente

Para rodar esta aplicação localmente é necessário garantir o cumprimento dos pré-requisitos, fazer uma cópia do repositório e executar as instruções a seguir. Neste projeto é sugerido o uso do Docker, a partir do docker-compose já configurado no repositório, que subirá os serviços node e db, via containers chamados blogs_api e blogs_api_db.

Pré-requisitos

  • docker-compose em versão 1.29 ou superior.
  • Estar com a porta padrão do mysql (3306) liberada, pois o serviço db está configurado no docker-compose para conexão nesta porta.

Clonando o Repositório

  git clone git@github.com:AlvaresJu/blogs_api.git

Rodando Serviços com docker-compose

  cd blogs_api/
  docker-compose up -d --build

Acessando Container e Instalando Dependências

  docker exec -it blogs_api bash
  npm install

Subindo Banco de Dados e Executando a Aplicação

Obs.: comandos a serem executados de DENTRO do Container node

  npm start

Parando a Aplicação e Descendo os Containers

Obs.: comandos a serem executados de FORA do Container node

  docker-compose down

Contribuições e Autoria

Como descrito, este projeto foi proposto pela Trybe e desenvolvido por Juliana Álvares durante o curso de Desenvolvimento Web realizado. Por isso, foram disponibilizados pela Trybe alguns arquivos base de configurações e auxiliares ao desenvolvimento do projeto. Segue especificação de autoria dos principais documentos:

Arquivos/diretórios desenvolvidos pela autora do projeto (Juliana Álvares):

README.md | api/images/** | quase todos os arquivios em api/src/* | documentação da API no Postman

Arquivos/diretórios desenvolvidos pela Trybe:

Arquivos com configurações iniciais do projeto, como: api/.eslintrc.json | versão inicial do api/package.json e api/package-lock.json | api/.sequelizerc | api/src/config/** | api/src/models/index.js