Projeto fullstack desenvolvido para teste técnico da NG.Cash
Tecnologias e ferramentas que foram utilizadas para desenvolver este projeto:
- NodeJs
- Express
- SWC
- Jest
- Docker
- Prisma
- TypeScript
- React
- NextJs
- TailwindCSS
- E mais algumas outras como cors, cookie parser, json web token, bcrypt, zod, react icons e react hot toast.
-
Clone o repositório para sua maquina (
git clone https://github.com/miguel5g/ng-cash-challenge.git
) ou baixe o zip do código fonte (baixar). -
Acesse a pasta do projeto (após descompactar ou clonar)
- As próximas etapas pode ser feita de duas maneiras, escolha uma.
Utilizando docker compose
- Executar o comando para criar e executar os containers
docker compose up -d
OBS: Na primeira vez esse processo vai demorar um pouquinho
Após finalizar, basta acessar a url localhost/sign-in
A aplicação já vem com dois usuários criados, você pode usar os dados abaixo para logar nas respectivas contas:
Username: jane
Password: 123456Aa
Username: john
Password: 123456Aa
Com o node instalado na sua máquina
- Crie um banco de dados PostgreSQL (Opcional)
docker run --name <container name> -p 5432:5432 -e POSTGRES_PASSWORD=<database password> -e POSTGRES_USER=<database user> -d postgres
OBS: Preencha com seus dados trocando os campos com <>
- Criar variáveis de ambiente
cp .env.example .env # Pasta /server
cp .env.example .env # Pasta /web
OBS: Não esqueça de preencher as variáveis com seus dados
- Instale as dependências em cada projeto com npm (
npm install
)
npm install # Pasta /server
npm install # Pasta /web
- Rode as migrations no banco de dados com prisma.
npm run prisma:deploy # Pasta /server
- Rode os dois projetos ao mesmo tempo com npm
npm run start:dev # Pasta /server
npm run start:dev # Pasta /web