Skip to content

prtpj1/project-trybesmith

Repository files navigation

25º Projeto: TrybeSmith

Header


Project DescriptionLearningRequirementsStacksHow to run the application


Descrição do ProjetoAprendizadoRequisitosTecnologias UtilizadasRodar a Aplicação


Project Description

I developed this BackEnd project during my learning period at Trybe, where I created the CRUD (Create, Read, Update, and Delete) for a medieval store, in the form of an API using TypeScript.

In this project, I learned and put into practice

  • Creating the application layers (Models, Service, and Controllers)
  • Developing endpoints that were connected to the database following REST principles

According to the project requirements designated by Trybe, I learned how to

  • ✅ Create an endpoint for product registration
  • ✅ Create an endpoint for listing products
  • ✅ Create an endpoint for user registration
  • ✅ Create an endpoint to list all orders

Bonus requirements

  • ❌ Create an endpoint for user login
  • ❌ Create product validations
  • ❌ Create user validations
  • ❌ Create an endpoint for order registration

Note: In some projects, some requirements were not completed due to the accelerated dynamics of the course, not because I didn't know how to do them. At the time, I just needed a little more time.

I still haven't decided if it's better to leave it this way to demonstrate my progress during my learning or if it would be better to complete the requirements that were missing in the course projects.

Feedback is welcome.

Stacks

BackEnd

  • Docker
  • Express
  • MySQL
  • Node.js
  • TypeScript

Docker IconExpress IconMySQL IconNodeJS IconTypeScript Icon

How to run the application?

Local

  • MySQL needs to be running on your machine
    ⚠️ If you are on Windows, stop MySQL on Windows, as you will use MySQL from your Linux distro through WSL2
  • Clone the repository:
    git clone git@github.com:prtpj1/project-trybesmith.git
  • Access the project folder:
    cd project-trybesmith
  • Install the dependencies:
    npm install
  • Create the .env file at the root of the project with the following data:
    MYSQL_HOST=localhost
    MYSQL_USER=root
    MYSQL_PASSWORD=<your MySQL password>
  • In the terminal, start the application:
    npm start

🐳 With Docker

  • Ensure Docker is running on your computer
  • Clone the repository:
    git clone git@github.com:prtpj1/project-trybesmith.git
  • Access the project folder:
    cd project-trybesmith
  • Bring up the container for Docker:
    docker-compose up -d

With the project running, you can test the routes by clicking on the Swagger link Swagger Screen Swagger Screen

Note: If you have any difficulties with the instructions and would like to give feedback, send me a message


Descrição do Projeto

Fiz este projeto BackEnd durante meu período de aprendizagem na Trybe onde desenvolvi o CRUD (Create, Read, Update e Delete - Criação, Leitura, Atualização e Exclusão) para uma loja de itens medievais, no formato de uma API utilizando TypeScript

Nesse projeto, aprendi e coloquei em prática

  • Criação das camadas da aplicação (Models, Service e Controllers)
  • Desenvolvimento de endpoints que foram conectados ao banco de dados seguindo os princípios do REST;

De acordo com os requisitos do projeto designados pela Trybe aprendi como

  • ✅ Criar um endpoint para o cadastro de produtos
  • ✅ Criar um endpoint para a listagem de produtos
  • ✅ Criar um endpoint para o cadastro de pessoas usuárias
  • ✅ Criar um endpoint para listar todos os pedidos

Requisitos bonus

  • ❌ Criar um endpoint para o login de pessoas usuárias
  • ❌ Criar as validações dos produtos
  • ❌ Criar as validações para as pessoas usuárias
  • ❌ Criar um endpoint para o cadastro de um pedido

OBS: Em alguns projetos alguns requisitos não foram feitos devido a dinamica acelerada do curso e não por eu não saber como fazê-los. Na época eu apenas precisaria de um pouco mais de tempo.

Ainda não decidi se é melhor deixar desta forma para demonstrar o meu progresso durante meu aprendizado ou se seria melhor completar os requisitos que ficaram faltando nos projetos do curso.

Feedbacks são bem vindos.

Tecnologias Utilizadas

BackEnd

  • Docker
  • Express
  • MySQL
  • Node.js
  • TypeScript

Docker IconExpress IconMySQL IconNodeJS IconTypeScript Icon

Como rodar a aplicação?

Local

  • O MySQL precisa estar rodando na sua máquina
    ⚠️ Se estiver no Windows, pare o MySQL do Windows, pois usará o MySQL da sua distro Linux através do WSL2
  • Clone o repositório:
    git clone git@github.com:prtpj1/project-trybesmith.git
  • Acesse a pasta do projeto:
    cd project-trybesmith
  • Instale as dependências:
    npm install
  • Crie o arquivo .env na raiz do projeto com os seguintes dados:
    MYSQL_HOST=localhost
    MYSQL_USER=root
    MYSQL_PASSWORD=<sua senha no MySQL>

  • No terminal inicie a aplicação:
    npm start

🐳 Rodando com Docker

  • Confirme que o Docker está rodando no seu computador
  • Clone o repositório:
    git clone git@github.com:prtpj1/project-trybesmith.git
  • Acesse a pasta do projeto:
    cd project-trybesmith
  • Suba o container para o Docker:
    docker-compose up -d

Com o projeto rodando você poderá testar as rotas clicando no link do Swagger Tela do Swagger Tela do Swagger



OBS: Se tiver alguma dificuldade com as instruções e quiser dar um feedback me mande uma mensagem

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors