Este projeto consiste em uma aplicação web simples que permite o cadastro de estudantes. A aplicação é dividida em frontend e backend separados, ambos disponíveis utilizando contêineres Docker.
O frontend foi desenvolvido com Angular, enquanto o backend utiliza Node.js com Express.
O banco de dados escolhido é o MySQL.
O projeto inclui operações de CRUD (Create, Read, Update, Delete) para estudantes, com campos como nome, idade, e-mail e curso.
- Frontend: Angular
- Backend: Node.js com Express
- Banco de Dados: MySQL
- Containerização: Docker e Docker Compose
frontend/
: Código-fonte do frontend em Angularbackend/
: Código-fonte do backend em Node.js com Expressdocker-compose.yml
: Arquivo para orquestração dos contêineres Docker
- Node.js
- npm ou yarn
- MySQL
- Docker
Clonar o repositório
git clone https://github.com/4d4m0r/fpf.git
- Navegue até o diretório
backend
:cd backend
- Instale as dependências:
npm install
- Converta o arquivo .env.example para .env:
cp .env.example .env
- Execute a migração do banco de dados:
npx prisma migrate dev
- Inicie o servidor:
npm start
- Navegue até o diretório
frontend
:cd frontend
- Instale as dependências:
npm install
- Inicie o servidor:
npm start
-
Converta o arquivo .env.example para .env na pasta backend:
cp .env.example .env
-
Construa e inicie os contêineres:
docker-compose up --build
GET v1/estudante
Resposta:
[
{
"id": "384b2ff2-0807-4506-bec7-fe10ee827061",
"nome": "Adamor",
"email": "adamor@gmail",
"senha": "$2a$10$jauVCrRyrCf1kPcvJnXeX.VWPnEDpzrZEyCDxOf5VT6ps7v0xi5BG",
"idade": 20,
"curso": "Curso do Estudante",
"createdAt": "2024-06-21T17:20:26.211Z",
"updatedAt": "2024-06-21T17:20:26.211Z"
}
]
POST /v1/estudante
Corpo da requisição:
[
{
"nome": "teste",
"email": "teste@gmail",
"senha": "123",
"idade": 20,
"curso": "Curso"
}
]
PUT /v1/estudante/{id}
Corpo da requisição:
[
{
"nome": "teste",
"email": "teste@gmail",
"senha": "123",
"idade": 20,
"curso": "Curso"
}
]
DELETE /v1/estudante/{id}