A School API oferece acesso a recursos para armazenar, recuperar, atualizar e excluir informações sobre alunos em uma instituição educacional. Você poderá interagir com detalhes de alunos, como nome, idade, notas semestrais, nome do professor e número da sala.
- Node.js v18 (ou posterior)
- Dependências:
- Nodemon - ^3.0.1
- Prisma - ^5.5.1
- Sucrase - ^3.34.0
- @prisma/client - ^5.5.2
- Cors - ^2.8.5
- Express - ^4.18.2
- Swagger UI Express - ^5.0.0
Siga as etapas abaixo para configurar e instalar a API em seu ambiente local:
- Clone o repositório e acesse o diretório:
git clone git@github.com:brunohnsouza/student-scheduling-api.git
cd student-scheduling-api
- Instale as dependências do projeto usando o
Node Package Manager (NPM)
:
npm install
- Inicie o servidor em modo de desenvolvimento usando Nodemon (isso recarrega automaticamente o servidor quando você faz alterações no código):
npm run dev
A API estará acessível em http://localhost:3333
.
A configuração do banco de dados depende do ambiente em que você está executando a API.
-
Substitua o
datasource
no arquivoschema.prisma
pelo seguinte:datasource db { provider = "sqlite" url = "file:./dev.db" }
-
Exclua o diretório
migrations
e o arquivodev.db
-
Execute o seguinte comando:
npx prisma migrate dev
-
Escreva o nome da sua nova migration como, por exemplo,
create-table-student
-
Teste com o seguinte comando:
npx prisma studio
Você pode escolher entre vários bancos de dados, como PostgreSQL, MySQL, MongoDB e outros. Siga estas etapas:
-
Exclua o diretório
migrations
e o arquivodev.db
-
Crie um arquivo
.env
na raiz do projeto -
Adicione a variável de ambiente
DATABASE_URL
com a conexão do banco de dados em produção -
Execute o seguinte comando:
npx prisma migrate dev
-
Escreva o nome da sua nova migration como, por exemplo,
create-table-student
e confirme -
Teste com o seguinte comando:
npx prisma studio
Para mais informações, consulte a documentação do Prisma.
Principais endpoints da API, com informações sobre seus métodos HTTP, descrição, parâmetros, exemplos de solicitações e exemplos de respostas.
Endpoint | Método | Descrição | Parâmetros | Exemplo de Solicitação | Exemplo de Resposta |
---|---|---|---|---|---|
/students | GET | Obtém todos os alunos | - | GET /students | Status 200 OK, [JSON] |
/students:id | GET | Obtém um aluno por ID | id | GET /students:id | Status 200 OK, [JSON] |
/student | POST | Cria um novo aluno | JSON | POST /api/recurso | Status 201 Created |
/students:id | PUT | Atualiza um aluno | id | PUT /students:id | Status 200 OK |
/students:id | DELETE | Exclui um aluno | id | DELETE /students:id | Status 200 OK, [JSON] |