A full-stack employee management system built with React, Angular, .NET 8, and SQL Server. The application implements a clean architecture pattern with separation of concerns and follows SOLID principles.
- Username: admin
- Password: 123456
- Clean Architecture Pattern
- Domain Layer: Core business logic and entities
- Application Layer: Use cases and business rules
- Infrastructure Layer: External services and data access
- Presentation Layer: API controllers and DTOs
- Feature-Sliced Architecture
- Components: Reusable UI components
- Services: API communication and business logic
- Hooks: Custom React hooks for state management
- Utils: Helper functions and constants
- Module-Based Architecture
- Core Module: Singleton services and guards
- Shared Module: Common components and directives
- Feature Modules: Employee and Auth modules
- Lazy Loading: Route-based code splitting
-
Repository Pattern
- Data access abstraction
- Implementation:
GenericRepository<T>
-
Unit of Work Pattern
- Transaction management
- Implementation:
UnitOfWork
-
Factory Pattern
- Object creation
- Implementation:
EmployeeFactory
-
Strategy Pattern
- Algorithm selection
- Implementation: Password validation strategies
-
Observer Pattern
- Event handling
- Implementation: React's state management and Angular's RxJS
-
Dependency Injection Pattern
- Service injection
- Implementation: Angular's DI system
- User authentication with JWT
- Role-based access control
- CRUD operations for employees
- Phone number management
- Form validation
- Responsive design
- Multiple frontend implementations (React and Angular)
- Backend: .NET 8, C#, Entity Framework Core
- Frontend:
- React: TypeScript, Vite, CSS Modules
- Angular: TypeScript, Angular CLI, Angular Material
- Database: SQL Server
- Authentication: JWT
- State Management:
- React: React Hooks
- Angular: RxJS, Services
- .NET 8 SDK
- Node.js 18+
- SQL Server
- Visual Studio 2022 or VS Code
- Docker
- Clone the repository:
git clone https://github.com/yourusername/simpleRestAPIGit.git- Backend Setup:
cd Presentation.API
dotnet restore
dotnet run- Frontend Setup (React):
cd presentation.reactfront
npm install
npm run dev- Frontend Setup (Angular):
cd Presentantion.AngularFront
npm install
ng serve- Database Setup:
cd Presentation.API
dotnet ef database update- POST /api/Auth/login
- GET /api/Employee
- GET /api/Employee/{id}
- POST /api/Employee
- PUT /api/Employee/{id}
- DELETE /api/Employee/{id}
# Backend Tests
cd Presentation.API
dotnet test
# Frontend Tests (React)
cd presentation.reactfront
npm test
# Frontend Tests (Angular)
cd Presentantion.AngularFront
ng testSistema de gerenciamento de funcionários full-stack construído com React, Angular, .NET 8 e SQL Server. A aplicação implementa o padrão de arquitetura limpa com separação de responsabilidades e segue os princípios SOLID.
- Usuário: admin
- Senha: 123456
- Padrão de Arquitetura Limpa
- Camada de Domínio: Lógica de negócio e entidades
- Camada de Aplicação: Casos de uso e regras de negócio
- Camada de Infraestrutura: Serviços externos e acesso a dados
- Camada de Apresentação: Controladores da API e DTOs
- Arquitetura Fatiada por Funcionalidades
- Componentes: Componentes de UI reutilizáveis
- Serviços: Comunicação com API e lógica de negócio
- Hooks: Hooks personalizados para gerenciamento de estado
- Utils: Funções auxiliares e constantes
- Arquitetura Baseada em Módulos
- Módulo Core: Serviços singleton e guards
- Módulo Shared: Componentes e diretivas comuns
- Módulos de Feature: Módulos de Employee e Auth
- Lazy Loading: Divisão de código baseada em rotas
-
Padrão Repository
- Abstração de acesso a dados
- Implementação:
GenericRepository<T>
-
Padrão Unit of Work
- Gerenciamento de transações
- Implementação:
UnitOfWork
-
Padrão Factory
- Criação de objetos
- Implementação:
EmployeeFactory
-
Padrão Strategy
- Seleção de algoritmos
- Implementação: Estratégias de validação de senha
-
Padrão Observer
- Manipulação de eventos
- Implementação: Gerenciamento de estado do React e RxJS do Angular
-
Padrão Injeção de Dependência
- Injeção de serviços
- Implementação: Sistema de DI do Angular
- Autenticação de usuários com JWT
- Controle de acesso baseado em funções
- Operações CRUD para funcionários
- Gerenciamento de números de telefone
- Validação de formulários
- Design responsivo
- Múltiplas implementações frontend (React e Angular)
- Backend: .NET 8, C#, Entity Framework Core
- Frontend:
- React: TypeScript, Vite, CSS Modules
- Angular: TypeScript, Angular CLI, Angular Material
- Banco de Dados: SQL Server
- Autenticação: JWT
- Gerenciamento de Estado:
- React: React Hooks
- Angular: RxJS, Services
- .NET 8 SDK
- Node.js 18+
- SQL Server
- Visual Studio 2022 ou VS Code
- Docker
- Clone o repositório:
git clone https://github.com/yourusername/simpleRestAPIGit.git- Configuração do Backend:
cd Presentation.API
dotnet restore
dotnet run- Configuração do Frontend (React):
cd presentation.reactfront
npm install
npm run dev- Configuração do Frontend (Angular):
cd Presentantion.AngularFront
npm install
ng serve- Configuração do Banco de Dados:
cd Presentation.API
dotnet ef database update- POST /api/Auth/login
- GET /api/Employee
- GET /api/Employee/{id}
- POST /api/Employee
- PUT /api/Employee/{id}
- DELETE /api/Employee/{id}
# Testes do Backend
cd Presentation.API
dotnet test
# Testes do Frontend (React)
cd presentation.reactfront
npm test
# Testes do Frontend (Angular)
cd Presentantion.AngularFront
ng test