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

Overview

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

  • Aplicação WEB

    • [] Deploy da aplicação Web
    • [] Adicionar biblioteca para tratar melhor os formularios
    • [] Incluir a autenticação na pagina inicial
    • [] Incluir pagina de DUOS
  • 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
    • [] Deploy do backend

Feito com 💚 by AlanM Franco

You might also like...

Api simples de OCR feita com Fastify e Tesseract.js

ocr-api API de OCR simples feita com Fastify e Tesseract.js Iniciando Depois de instalar as depedências, simplesmente inicia com npm run start. Nota:

Oct 8, 2022

A AfirmaJobs é uma plataforma de divulgação de vagas voltadas para a diversidade e inclusão. A aplicação foi desenvolvida como projeto final do curso bootcamp da Reprograma

A AfirmaJobs é uma plataforma de divulgação de vagas voltadas para a diversidade e inclusão. A aplicação foi desenvolvida como projeto final do curso bootcamp da Reprograma

AFIRMAJOBS Este projeto é resultado do Bootcamp Back-End - Todas em Tech - { reprograma } Justificativa Grupos historicamente minorizados – população

Dec 13, 2022

Todas as aulas da Semana JS Expert 5.0 - Google Drive Clone

Todas as aulas da Semana JS Expert 5.0 - Google Drive Clone

Google Drive Clone - Semana JS Expert 5.0 Seja bem vindo(a) à quinta Semana Javascript Expert. Este é o código inicial para iniciar nossa jornada. Mar

Dec 29, 2022

Desafio Gerador de senhas com Emojis - Tech da Semana 😁 🤩

 Desafio Gerador de senhas com Emojis - Tech da Semana 😁 🤩

Desafio Gerador de senhas com Emojis - Tech da Semana 😁 🤩 📚 Informações sobre o projeto O projeto foi desenvolvido com base no desafio do Discord d

Nov 21, 2022

Semana Javascript Expert 6 - Spotify Radio

Semana Javascript Expert 6 - Spotify Radio

Spotify Radio - Semana JS Expert 6.0 Projeto desenvolvido na Semana Javascript Expert ministrada pelo mestre Erick Wendel. O Projeto O projeto é um St

Jun 14, 2022

Delégua é uma variação da Linguagem Égua, patrocinada pela Design Líquido.

Delégua é uma variação da Linguagem Égua, patrocinada pela Design Líquido.

Linguagem Delégua Linguagem de programação, derivada da Linguagem Égua Página Web com Interpretador Delégua para demonstrações Introdução Delégua é um

Dec 8, 2022

O projeto MKS Sistemas tem como objetivo o desenvolvimento de uma aplicação em React que utilize endpoint da API de produtos fornecida pela própria MKS Sistemas.

  O projeto MKS Sistemas tem como objetivo o desenvolvimento de uma aplicação em React que utilize endpoint da API de produtos fornecida pela própria MKS Sistemas.

MKS front-end Descrição O projeto MKS Sistemas tem como objetivo o desenvolvimento de uma aplicação em React que utilize endpoint da API de produtos f

Jul 21, 2022

Este repositorio é para o primeiro projeto da quarta semana do WCC

Primeiro_projeto_node Instruções para a criação e execução: Crie uma pasta para armazenar os arquivos do projeto Abra a pasta criada no VSCode Após ab

Sep 8, 2022

Este repositório contem o desafio do curso da rocketseat Ignite Conceitos do Nodejs

Projeto API TODO Nessa aplicação foi feita uma API, que é uma gerador de tarefas TODOS, onde o usúario pode cadastrar um name e um username, e a aplic

May 12, 2022
Comments
  • Configure Renovate

    Configure Renovate

    Mend Renovate

    Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

    🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


    Detected Package Files

    • server/docker-compose.yml (docker-compose)
    • server/Dockerfile (dockerfile)
    • mobile/package.json (npm)
    • server/package.json (npm)
    • web/package.json (npm)

    Configuration

    🔡 Renovate has detected a custom config for this PR. Feel free to ask for help if you have any doubts and would like it reviewed.

    Important: Now that this branch is edited, Renovate can't rebase it from the base branch any more. If you make changes to the base branch that could impact this onboarding PR, please merge them manually.

    What to Expect

    With your current configuration, Renovate will create 8 Pull Requests:

    Update dependency react-native to v0.70.6
    • Schedule: ["at any time"]
    • Branch name: renovate/react-monorepo
    • Merge into: main
    • Upgrade react-native to 0.70.6
    Update dependency react-native-safe-area-context to v4.4.1
    Update dependency react-native-screens to ~3.18.0
    • Schedule: ["at any time"]
    • Branch name: renovate/react-native-screens-3.x
    • Merge into: main
    • Upgrade react-native-screens to ~3.18.0
    Update dependency typescript to ~4.9.0
    • Schedule: ["at any time"]
    • Branch name: renovate/typescript-4.x
    • Merge into: main
    • Upgrade typescript to ~4.9.0
    Update dependency vitest to ^0.25.0
    • Schedule: ["at any time"]
    • Branch name: renovate/vitest-monorepo
    • Merge into: main
    • Upgrade vitest to ^0.25.0
    Update expo monorepo
    Update dependency axios to v1
    • Schedule: ["at any time"]
    • Branch name: renovate/axios-1.x
    • Merge into: main
    • Upgrade axios to ^1.0.0
    Update expo monorepo (major)

    🚸 Branch creation will be limited to maximum 2 per hour, so it doesn't swamp any CI resources or spam the project. See docs for prhourlylimit for details.


    ❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
Owner
Alan Mauro Franco
Hello, I'm Alan. I'm Backend Developer and graduated in System Analysis and Development at FATEC Ipiranga.
Alan Mauro Franco
Projeto Clocker, para agendamento de horários, desenvolvido durante a Semana Full Stack cem custo!

Bem vindo à Semana Full Stack Sem Custo, da Codar.me! Entre os dias 5 e 9 de abril, vamos desenvolver uma aplicação completa: front, back e banco de d

Codar.me 30 Dec 11, 2022
Server desenvolvido para a aplicação web da NLW RocketSeat Ignite.

Back-end - servidor RocketSeat Trilha ignite Neste projeto foi criado uma página web que se comunica com um servidor. O servidor contém todos os dados

Matheus Costa 2 Sep 27, 2022
Projeto desenvolvido durante o ignite lab 3 da Rocketseat.

?? Tecnologias Esse projeto foi desenvolvido com as seguintes tecnologias: Vite React Typescript Tailwindcss Radix UI Phosphor Icons Figma Storybook ?

JEAM MARTINS ALVES 3 Oct 19, 2022
🚀 Final Esports project based on Rocketseat's Next Level Week.

The evolved version of the Esports project on the Next Level Week by Rocketseat. The web client is deployed on Vercel here: https://nlw-esports-ignite

João Martinho 35 Oct 26, 2022
Projeto Integrador Motive foi desenvolvido sobe a ODS 3 da ONU, a onde elaboramos uma desafiadora missão de como fazer um mundo melhor até 2030

A progressive Node.js framework for building efficient and scalable server-side applications. Description Nest framework TypeScript starter repository

null 11 Dec 13, 2022
Desafio 21 dias de código proposto pela Rocketseat.

21-days-of-code Desafio 21 dias de código proposto pela Rocketseat. As regras para participar do desafio são: Todos os dias, codar por pelo menos 1h;

Madalena Machado Rocha 8 Sep 17, 2022
Desafio da RocketSeat, codar durante 21 dias seguidos

Desafio 21 dias codando by Rocketseat ?? Uma breve descrição sobre o que esse projeto faz e para quem ele é ?? Regras ?? Todos os dias, codar por pelo

Gabriel William 13 Oct 21, 2022
Desenvolvido durante um desafio do servidor Ballerini no Discord! https://discord.gg/ballerini

Desafio Autenticação Node - Tech da Semana ⏰ ?? ?? Informações sobre o projeto O projeto foi desenvolvido com base no desafio do Discord da Rafaela Ba

Gabriel Borges 5 Jun 1, 2022
Projeto desenvolvido durante o Programa de Formação do Grupo FCamara

Technical Share Projeto desenvolvido durante o Programa de Formação do Grupo FCamara ?? Começando As instruções logo abaixo permitirão que você obtenh

null 4 Apr 14, 2022
Projeto desenvolvido durante o Talent Fest Brasil - Laboratória SAP007, cumprindo o desafio da empresa Pravaler. 💪🏻💪🏽🧡

Desenvolvimento web (MVP) : Comparador de Cursos ?? Link da aplicação ?? Nossa equipe de Desenvolvedoras recebeu uma tarefa enviada pela empresa Prava

Suelen Escorcio 3 Jul 3, 2022