Skip to main content

📚 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