📚 Documentação da API — Cadastro de Estudantes
🔧 Stack Tecnológica
- Backend: Node.js (JavaScript)
- Framework: Express.js
- ORM: Prisma
- Banco de Dados: PostgreSQL (em container Docker)
- Containerização: Docker + Docker Compose
🐳 Banco de Dados (PostgreSQL) - Docker
Nome do serviço: db
db:
image: postgres:15
restart: always
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: next_db
ports:
- '5432:5432'
volumes:
- pgdata:/var/lib/postgresql/data
URL de conexão usada no backend (.env
ou docker-compose.yml
):
DATABASE_URL=postgresql://postgres:postgres@db:5432/next_db
🧠 Prisma Schema (User)
model User {
id Int @id @default(autoincrement())
full_name String
email String @unique
password String
next_year Int
university String
scholarship_type String?
graduation_year Int
current_job String?
profile_photo String?
linkedin_url String?
interests String[]
career_goals String?
hobbies String[]
bio String?
created_at DateTime @default(now())
updated_at DateTime @updatedAt
experiences Experience[]
awards Award[]
extracurricular Extracurricular[]
}
📂 Estrutura de Diretórios
src/
├── controllers/
│ └── student.controller.js
├── routes/
│ └── student.routes.js
├── prisma/
│ ├── schema.prisma
│ └── migrations/
├── index.js