O Wits é uma plataforma de e-learning gamificada voltada ao desenvolvimento de raciocínio lógico e habilidades cognitivas por meio de desafios, exercícios e mecânicas de progressão. Este repositório reúne os projetos que compõem o ecossistema da aplicação:
- Arquitetura do Projeto
- Tecnologias Utilizadas
- Instalação
- Configuração da API
- Configuração do Front-end
- Executando o Projeto
- Swagger
- Testes Unitários
- Equipe
wits/
├── api/ # Back-end NestJS
└── webapp/ # Front-end NextJS
Aplicação front-end desenvolvida com Next.js, React e TypeScript, responsável pela experiência do usuário, autenticação, visualização de conteúdos e interação com a plataforma.
API REST desenvolvida com NestJS e TypeORM, responsável pelas regras de negócio, autenticação, persistência de dados e integração com o banco de dados.
- Axios
- Docker
- Docker Compose
- ESLint
- Framer Motion
- Jose
- Lucide React
- Next.js
- NextUI
- Prettier
- React
- Sonner
- TailwindCSS
- TypeScript
- Zod
- BCrypt
- CORS
- Docker
- Docker Compose
- DotEnv
- Jest
- JWT
- MySQL
- PostgreSQL
- NestJS
- Node.js
- Prettier
- Swagger UI
- TS-Node-Dev
- TypeORM
- TypeORM Extension
- TypeScript
- Zod
Para instalar o projeto, é necessário possuir um gerenciador de pacotes JavaScript, como:
- NPM
- Yarn
- PNPM
- Bun
Clone o repositório:
git clone https://github.com/SEU-USUARIO/wits.gitEntre na pasta do projeto:
cd witsInstale as dependências de cada aplicação:
cd api
npm install
# ou
yarn install
# ou
bun installcd webapp
npm install
# ou
yarn install
# ou
bun installCrie um arquivo .env baseado em .env.example.
# Database Variables
DB_ENGINE=
DB_HOST=
DB_PORT=
DB_USER=
DB_PASSWORD=
DB_DATABASE=
DB_ENTITIES=
# JWT Variables
JWT_KEY=
# API Variables
API_PORT=
API_URL=
# Integration Variables
FRONTEND_URL=
# Application Environment
NODE_ENV=# Database Variables
DB_ENGINE=mysql
DB_HOST=localhost
DB_PORT=3306
DB_USER=SEU_USUARIO
DB_PASSWORD=SUA_SENHA
DB_DATABASE=wits
DB_ENTITIES=dist/**/*.entity{.ts,.js}
# JWT Variables
JWT_KEY=MINHA_CHAVE_JWT
# API Variables
API_PORT=5000
API_URL=http://localhost:5000
# Integration Variables
FRONTEND_URL=http://localhost:3000
# Application Environment
NODE_ENV=developmentnpm run db:createnpm run db:seedEm ambientes diferentes de produção, a aplicação concatenará o nome do banco com o ambiente configurado. Por exemplo:
wits_development
Crie um arquivo .env baseado em .env.example.
BASE_URL=
NEXT_PUBLIC_API=BASE_URL=http://localhost:3000/
NEXT_PUBLIC_API=http://localhost:5000/Para desenvolvimento local, utilize
httpem vez dehttps.
npm run start:devA API ficará disponível por padrão em:
http://localhost:5000
npm run devA aplicação ficará disponível por padrão em:
http://localhost:3000
Após iniciar a API, a documentação dos endpoints poderá ser acessada através da URL:
http://localhost:{PORTA_DA_API}/swagger
Exemplo:
http://localhost:5000/swagger
A documentação permite visualizar e testar todos os endpoints disponíveis na aplicação.
Para executar os testes da API:
Altere o valor da variável:
NODE_ENV=testCrie e popule o banco de testes:
npm run db:createnpm run db:seedExecute os testes:
npm run test:watchCom isso será possível selecionar e executar as suítes de testes disponíveis.
Desenvolvido para o projeto Wits, uma plataforma gamificada de aprendizagem focada em raciocínio lógico e desenvolvimento cognitivo.

