Skip to content

alnmaurofranco/nlw-esports

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plataforma para encontrar e conectar jogadores para fazerem aquele duozinho maneiro no seu jogo preferido

✅ Demostração

🎉 Sobre o projeto

O projeto foi desenvolvido durante a semana da NLW feita pela Rocketseat e eu fiz implementações diferentes no backend do projeto

🚀 Tecnologias

Esse projeto foi desenvolvido com as seguintes tecnologias:

  • TypeScript - TypeScript extends JavaScript by adding types to the language.
  • React - A JavaScript library for building user interfaces
  • Vite - Vite Next Generation Frontend Tooling
  • tailwindcss - Rapidly build modern websites without ever leaving your HTML.
  • Radix UI - Why waste time reinventing UI components?
  • Expo - Build one project that runs natively on all your users' devices
  • Node.js - A JavaScript runtime built on Chrome's V8 JavaScript engine.
  • Vitest - A Vite-native unit test framework. It's fast!
  • PostgreSQL - The World's Most Advanced Open Source Relational Database
  • PrismaORM - Next-generation Node.js and TypeScript ORM
  • Docker - Develop faster. Run anywhere.

typescript reactjs vite vite radixui vitest expo nodejs postgresql prismaorm docker

✨ Funcionalidades

👨🏼‍💻 Como executar

Essas instruções permitirão que você obtenha uma cópia do projeto em operação na sua máquina local para fins de desenvolvimento e teste.

📃 Pre-requisitos

  • Node.js - Para rodar este projeto é necessário ter Node.js instalado em sua maquina. Caso não tenha ainda basta acessar o site do Node.js e instalar para continuar.
  • Docker
O projeto pode ser executado com Docker, para isso você deve ter ele em sua maquina local para executar o projeto e caso você queria instalar o Docker para Ubuntu/Windows vou deixar dois links abaixo;

🔧 Instalação

  • Clone este repositório
git clone https://github.com/alnmaurofranco/nlw-esports
  • Acesse a pasta do projeto
cd nlw-esports
  • Instale as dependências de cada projeto com (pnpm, yarn ou npm) nesse exemplo estou usando yarn e vou primeiramente executar na pasta web
  • ⚠ IMPORTANTE! Faça isso também para as outras pastas (server e mobile)
cd web && yarn install
  • Após a instalação, você deve renomear o arquivo .env.example para .env que se encontra nas raizes dos projetos e modifique a variavel de acordo com a sua configuração.

Executando a aplicação

  • Após completa todas as instalações, vamos iniciar nossa aplicaçaõ web com o seguinte comando:
cd web && yarn dev

🔥 Sem Docker no backend (SERVER)

  • Após a instalação das dependecias, você deve renomear o arquivo .env.example para .env que se encontra na raiz do projeto e modifique a variavel DATABASE_URL com suas configurações do seu banco de dados:
DATABASE_URL="postgresql://USER:PASS@HOST:PORT/DATABASE?schema=public"
  • Inicie a API com o comando:
yarn start:dev

🐳 Com Docker no backend (SERVER)

  • Subindo o container do projeto no Docker utilizando o comando abaixo:
docker-compose up -d
  • E depois de subir o container, você deve renomear o arquivo .env.example para .env que se encontra na raiz do projeto e modificar a variavel DATABASE_URL com as configurações abaixo:
DATABASE_URL="postgresql://root:docker@api-database:5432/esportsdb?schema=public"
  • Pronto agora sua aplicação backend (server) está rodando no Docker e já pode ser acessado em http://localhost:3333/api

  • O comando a seguir é para a execução do projeto mobile:

cd mobile && yarn start
  • Pronto agora sua aplicação mobile está disponível para ser acessada

🧪 Executando os testes

A seguir iremos executar os testes da aplicação no backend (server)

cd server && yarn test
  • Pronto, teste da aplicação do seu backend (server) foi realizado.

🪄 Melhorias em desenvolvimento

  • API
    • Arquitetura Limpa/Domain Driven Design/Código Limpo
    • Testes
    • Adicionar validação
    • Adicionar autenticação
      • Adicionar autenticação mágica com e-mail
      • Autenticar com provedor do Discord
      • Autenticar com provedor da TwitchTV

Feito com 💚 by AlanM Franco

About

O NLW Esports foi desenvolvido durante a semana da NLW feita pela Rocketseat 🚀

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages