Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 

Repository files navigation

📚 Fullstack Challenge 🏅 - Dictionary

Este projeto é uma aplicação fullstack que simula um dicionário online com funcionalidades de autenticação, histórico de palavras visualizadas, favoritos e busca de definições.

Foi desenvolvido seguindo as melhores práticas de Clean Code, SOLID, e separação clara entre frontend e backend.


This is a challenge by Coodesh

💻 Tecnologias Utilizadas

🔙 Backend

🔜 Frontend


🗂 Estrutura do Repositório

.
├── server/         # API RESTful com Fastify + Prisma
└── web/            # Aplicação Next.js

Deploy

O projeto encontra-se feito deploy na URL: https://dictionary.jonventura.dev

🚀 Como Executar o Projeto em Desenvolvimento

Pré-requisitos

  • Node.js (versão 20 ou superior)
  • SQLite (opcional, o Prisma cria o banco automaticamente)
  • PNPM ou Yarn (opcional, o projeto usa o pnpm como gerenciador de pacotes)

Executando o Backend

  1. Clone o repositório:

    git clone https://github.com/JonGlazkov/fullstack-dictionary.git
    cd fullstack-dictionary/server
  2. Instale as dependências:

    pnpm install
  3. Configure o banco de dados no arquivo .env (opcional) e o JWT_SECRET(obrigatório):

    DATABASE_URL="file:./dev.db"
    JWT_SECRET=seu-segredo-aqui
  4. Execute as migrações do Prisma:

    npx prisma migrate dev
    
    ou
    
    pnpm prisma migrate dev
  5. Inicie o servidor:

     pnpm dev
  6. Acesse a documentação da API em http://localhost:3333/docs (Swagger).

    Observação: Caso precise popular o banco com as palavras em inglês, execute o comando abaixo dentro da pasta server:

    pnpm populate

Executando o Frontend

  1. Clone o repositório caso ainda não tenha feito:

    git clone https://github.com/JonGlazkov/fullstack-dictionary.git
     cd fullstack-dictionary/web
  2. Instale as dependências:

    pnpm install
  3. Configure a URL da API no arquivo .env:

    NEXT_PUBLIC_API_URL=http://localhost:3333
  4. Gere o AUTH_SECRET no arquivo .env (obrigatório):

    pnpm dlx auth@latest secret
  5. Inicie o servidor:

    pnpm dev
  6. Acesse a aplicação em http://localhost:3000.

About

This is a challenge by Coodesh

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages