https://github.com/robsonmt/code-challenge-nevoa
https://github.com/robsonmt/code-challenge-nevoa
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/robsonmt/code-challenge-nevoa
- Owner: RobsonMT
- Created: 2025-07-26T00:20:22.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-07-29T23:20:33.000Z (11 months ago)
- Last Synced: 2025-07-30T01:40:56.128Z (11 months ago)
- Language: TypeScript
- Size: 101 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# đ Projeto Fullstack de Cursos (Backend + Frontend)
Este repositório contém duas aplicaçÔes:
- đŠ **Backend**: API REST com Node.js, Express, TypeORM e PostgreSQL
- đ» **Frontend**: Interface web com Next.js e TailwindCSS
---
## đ§± Requisitos para rodar localmente
- Node.js (v18+ recomendado)
- PostgreSQL (v15+)
- Yarn ou npm (Yarn recomendado)
- Git
---
## đ Estrutura do Projeto
```
.
âââ backend/
â âââ src/
â âââ package.json
â âââ tsconfig.json
âââ frontend/
â âââ app/ ou pages/
â âââ package.json
â âââ tailwind.config.js
```
---
## đ§âđ» 1. Configurando o Banco de Dados
1. Inicie o PostgreSQL localmente.
2. Crie um banco chamado:
```bash
psql -U postgres
CREATE DATABASE course_db;
```
3. VocĂȘ pode usar `pgAdmin`, DBeaver ou CLI para isso.
---
## âïž 2. Configurando o Backend
### Acesse a pasta:
```bash
cd backend
```
### Instale as dependĂȘncias:
```bash
yarn install
```
### Configure o `.env`:
Crie o arquivo `backend/.env` com o conteĂșdo abaixo:
```env
DB_HOST=localhost
DB_PORT=5432
DB_USERNAME=postgres
DB_PASSWORD=1234
DB_NAME=course_db
SECRET_KEY=
EXPIRES_IN=1h
RUN_PORT=8000
```
> Ajuste `POSTGRES_PWD` conforme sua configuração local.
### Compile o TypeScript:
```bash
yarn build
```
### Rode as migraçÔes:
```bash
yarn migration:run
```
### Inicie o servidor:
```bash
yarn start
```
> A API estarĂĄ em: [http://localhost:8000](http://localhost:8000)
---
## đ 3. Configurando o Frontend
### Acesse a pasta:
```bash
cd ../frontend
```
### Instale as dependĂȘncias:
```bash
yarn install
```
### Rode o servidor Next.js:
```bash
yarn dev
```
> A aplicação web estarĂĄ disponĂvel em: [http://localhost:3000](http://localhost:3000)
---
## đ Endpoints principais da API
| Método | Rota | Descrição |
|--------|------------------|------------------------|
| POST | /register | Registro de usuĂĄrio |
| POST | /login | Login e token JWT |
| GET | /courses/public | Listar cursos pĂșblicos |
| CRUD | /courses | Gerenciar cursos |
---
## đ§Ș Scripts Ășteis no backend
```json
"scripts": {
"build": "tsc",
"start": "node dist/server.js",
"dev": "ts-node-dev src/server.ts",
"migration:run": "ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js migration:run -d src/data-source.ts"
}
```
---
## đ Dicas
- Certifique-se de que o PostgreSQL estå rodando e aceitando conexÔes em `localhost:5432`.
- Use o comando `yarn dev` no backend para hot-reload durante o desenvolvimento.
- Use ferramentas como [Insomnia](https://insomnia.rest/) ou [Postman](https://www.postman.com/) para testar a API.
---
## â DĂșvidas?
Abra uma **issue** no repositĂłrio ou entre em contato com o autor. đ