Este projeto é um sistema completo de controle de estoque, composto por um frontend Angular e uma API ASP.NET Core conectada a um banco de dados MySQL.
- Cadastro de produtos (nome, categoria, quantidade, preço unitário)
- Listagem de produtos em grid responsivo
- Edição de produtos via modal
- Exclusão de produtos com confirmação
- Integração total com API RESTful
- Frontend: Angular
- Backend: ASP.NET Core Web API
- Banco de Dados: MySQL
- ORM: Entity Framework Core (Pomelo)
git clone https://github.com/seu-usuario/seu-repo.git
cd seu-repoCrie o arquivo API_stock/appsettings.json com o seguinte conteúdo (ajuste usuário e senha conforme seu ambiente):
{
"ConnectionStrings": {
"DefaultConnection": "server=localhost;port=3306;database=stock_db;user=SEU_USUARIO;password=SUA_SENHA;"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}- Crie um banco MySQL chamado
stock_db(ou altere o nome no arquivoAPI_stock/appsettings.json). - Ajuste o usuário e senha conforme seu ambiente.
cd API_stock
dotnet ef database updatecd API_stock
dotnet runA API estará disponível em http://localhost:5023.
cd front_stock
npm install
ng serveAcesse http://localhost:4200 no navegador.
API_stock/ # Backend ASP.NET Core
Controllers/
Data/
Models/
Program.cs
appsettings.json
front_stock/ # Frontend Angular
src/
app/
estoque/
index.html
styles.css
angular.json
package.json
No arquivo API_stock/appsettings.json:
"ConnectionStrings": {
"DefaultConnection": "server=localhost;port=3306;database=stock_db;user=root;password=admin;"
}- Caneta Azul, Papelaria, 100, 2.50
- Caderno Universitário, Papelaria, 50, 18.90
- Mouse USB, Informática, 30, 45.00
- Rodar API:
dotnet run(na pasta API_stock) - Rodar frontend:
ng serve(na pasta front_stock) - Rodar migrations:
dotnet ef database update
- O frontend e o backend devem estar rodando ao mesmo tempo para integração total.
- O backend aceita requisições de qualquer origem (CORS liberado para facilitar o desenvolvimento).
Este projeto é livre para uso acadêmico e pessoal.