Giter VIP home page Giter VIP logo

desafio-hospeda-eventos's Introduction

Desafio Técnico - Hospeda Eventos - 2023

Desafio Hospeda Eventos

ícone

Sobre o desafio:

  • O desafio consiste em cria uma API RESTful com Node.js capaz de realizar um CRUD, além de integrar a API desenvolvida ao Front-end em React, utilizando Typescript tanto no Back-end quanto no Front-end.

Principais tecnologias usadas no desenvolvimento:

  • TypeScript
  • Vite
  • Axios
  • Express
  • Prisma
  • Docker

Bibliotecas em destaque:

  • Zod
  • react-hook-form
  • Dayjs
  • Styled-components
  • Radix

Design seguido:

Design Figma

Decições tomadas para o desafio:

  • Com o projeto/desafio construído totalmento com Typescript, decidi usar as melhores tecnologias atuais para o ecossistema React e Node. Aqui destaco duas bibliotecas de suma importância para um desenvolvimento ágil, sendo elas:
  • Zod: Biblioteca excelente para validação tanto no Front-end quanto no Back-end, possui validações nativas e flexibilidade para validações customizadas, além de ter uma grande compatibilidade com o Typescript, como por exemplo inferências de tipos.

  • Prisma: um Typescript ORM que possui grande compatibilidade com diversos Banco de Dados, como por exemplo MySQL, PostgreSQL, entre outros. O que se destaca nele são as migrations automatizadas e models intuítivos.

Link vídeo do projeto no Youtube:

Design Figma

Portas da aplicação:

Configuração API:

  1. Entre na pasta API;

  2. Use o comando: yarn ou npm install/i para instalar os pacotes;

  3. Use os seguintes comandos para configurar o ambiente Docker com Prisma:

    1. use o comando: docker compose up na pasta root da API;
    2. use o comando(script): npm run migrate-dev
    3. use o comando: npm run dev para rodar a aplicação backend;
    4. Seguindo esses comandos a API estará rodando em: http://localhost:3000

Observação:

  • Arquivo .env e docker-compose.yml estão com variáveis expostas no repositório para SOMENTE facilitar a configuração do projeto. É de suma importância para a segurança do projeto que variáveis de ambientes não estejam 'commitadas', ou seja, expostas.

Passo-a-passo para rodar a aplicação:

  1. Entre na pasta Desafio-Hospeda-Eventos;

  2. Use o comando: yarn ou npm install/i para instalar os pacotes(Back-end e Front-end);

  3. use o comando para rodas ambas aplicações:

npm run dev
# or
yarn dev
# or
pnpm dev

desafio-hospeda-eventos's People

Contributors

maxiixx23 avatar

Watchers

 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.