https://github.com/reinaldoper/back-escola-prisma
Project done with javaScript and nodeJs.
https://github.com/reinaldoper/back-escola-prisma
expressjs nodejs poo prisma typescipt
Last synced: about 1 month ago
JSON representation
Project done with javaScript and nodeJs.
- Host: GitHub
- URL: https://github.com/reinaldoper/back-escola-prisma
- Owner: reinaldoper
- License: mit
- Created: 2024-01-28T18:25:57.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-03-19T05:23:36.000Z (over 1 year ago)
- Last Synced: 2025-03-19T05:27:01.192Z (over 1 year ago)
- Topics: expressjs, nodejs, poo, prisma, typescipt
- Language: JavaScript
- Homepage: https://escola-prisma.vercel.app
- Size: 174 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 📚 Projeto API Escolar
Este projeto consiste em uma API voltada para a gestão de dados escolares, desenvolvida utilizando **Node.js**, **Express**, **Prisma ORM** e **TypeScript**.
A API permite o gerenciamento de professores, alunos, notas e diretores, com funcionalidades básicas de cadastro e consulta.
---
## 📄 Licença
Este projeto está licenciado sob os termos definidos no arquivo [LICENSE](./LICENCE).
---
## ⚙️ Instalação e Execução
Antes de começar, certifique-se de ter o **Node.js** e o **npm** instalados em sua máquina.
### 1. Clone o repositório
```bash
git clone git@github.com:reinaldoper/escola-prisma.git
```
## Instale as dependências:
`cd escola-prisma`
`npm install`
## Antes de rodar o servidor, ajuste o .env:
`DATABASE_URL="seu_bando_de_dados_postgresql"
PORT=3001`
## Inicie o servidor:
`npm run dev`
## 🔌 Endpoints Disponíveis
- ➕ Cadastrar Professor
- POST /api/professor
>Adiciona um novo professor
### Payload esperado:
```shell
{
"nome": "Nome do Professor",
"disciplina": "Disciplina do Professor",
"email": "email@exemplo.com"
}
```
## 📄 Listar Professores:
- GET /api/professor
>Retorna todos os professores cadastrados, suas disciplinas e respectivos alunos.
```shell
message": [
{
"nome": "Jorge Luiz dos Santos",
"disciplina": "hitória",
"createdAt": "2024-01-28T10:40:54.791Z",
"alunos": [
{
"id": 1,
"nome": "Pedro Paulo Diniz",
"idade": 19,
"email": "pedro@gmail.com",
"createdAt": "2024-01-28T11:50:03.077Z",
"professorId": 1
},
{
"id": 3,
"nome": "João Pedro da Silva",
"idade": 21,
"email": "joaopedro@gmail.com",
"createdAt": "2024-01-28T11:53:59.410Z",
"professorId": 1
}
]
}
```
## 👨🎓 Alunos
- ➕ Cadastrar Aluno
- POST /api/aluno
>Cadastra um novo aluno e o associa a um professor existente.
### Payload esperado:
```shell
{
"nome": "Nome do Aluno",
"email": "email@exemplo.com",
"professorId": 1
}
```
## 📝 Notas
- ➕ Registrar Nota
- POST /api/notas
>Registra uma nova nota para um aluno.
### Payload esperado:
```shell
{
"nome": "Nome do Aluno",
"valor": 8.5
}
```
## 🧑💼 Diretores
- ➕ Cadastrar Diretor
- POST /api/diretor
>Adiciona um novo diretor.
### Payload esperado:
```shell
{
"nome": "Nome do Diretor",
"email": "email@exemplo.com"
}
```
## 🌐 Deploy:
`https://escola-prisma.vercel.app/`