Skip to content

Your personal assistant for employee management

License

Notifications You must be signed in to change notification settings

iuno-san/MyEmplo

Repository files navigation

MyEmplo - employee management system

🍂 About

MyEmplo is a modern web application built on the ASP.NET Core MVC framework, designed for efficient employee data management within a company. The application stands out not only for its aesthetically pleasing and responsive interface but also for its robust security foundations and advanced clean architecture based on SOLID principles.

🔒 Security:

  • The use of the Identity package ensures a secure login system and account management, guaranteeing the protection of user data.

📱 Responsiveness and Accessibility:

  • The application is optimized for responsiveness, allowing seamless operation on various devices.

⚡️ Intuitive Interface:

  • The user interface is designed for simplicity, contributing to an intuitive user experience without the need for extensive training.

🧑‍💼 Employee Management:

  • The application enables efficient addition, editing, and removal of employee data, streamlining the personnel management process.

🌱 Clean Architecture:

  • The application is developed based on clean architecture, indicating well-organized code that is easy to maintain.

⭐️ SOLID Principles:

  • The application adheres to SOLID principles, demonstrating a professional approach to programming, resulting in flexibility and ease of extending functionality.


🛠️What I did

  • Created a comprehensive application using modern technologies.
  • Implemented a secure login system and account management using Identity.
  • Designed a user interface that is not only aesthetically pleasing but also intuitive.
  • Applied clean architecture principles for modular and scalable code.
  • Implemented features for adding, editing, and removing employees, aligning with the main purpose of the application.
  • Utilized SOLID principles, showcasing a professional programming approach.


🍃What I Learned

  • Effectively applied ASP.NET Core MVC technologies.
  • Implemented a secure login system and account management.
  • Designed a responsive user interface.
  • Developed an application adhering to clean architecture principles and SOLID patterns.
  • Efficiently managed employee data in a business application.


🔥Application Structure

MyEmplo
|
|-- MyEmplo.Application
|   |-- ApplicationUser
|   |   |-- CurrentUser.cs
|   |   |-- UserContext.cs
|   |
|   |-- Extensions
|   |   |-- ServiceCollectionExtensions.cs
|   |
|   |-- Mappings
|   |   |-- MyEmploMappingProfile.cs
|   |
|   |-- Commands
|   |   |-- CreateMyEmplo
|   |   |   |-- ...
|   |   |
|   |   |-- EditMyEmplo
|   |       |-- ...
|   |
|   |-- Queries
|       |-- GetAllMyEmplo
|       |   |-- ...
|       |
|       |-- GetMyEmploByEncodedName
|           |-- ...
|
|-- MyEmplo.Domain
|   |-- Entities
|   |   |-- MyEmplo.cs
|   |   |-- MyEmploService.cs
|   |
|   |-- Interfaces
|       |-- IMyEmploRepository.cs
|       |-- IMyEmploServiceRepository.cs
|
|-- MyEmplo.Infrastructure
|   |-- Extensions
|   |   |-- ServiceCollectionExtension.cs
|   |
|   |-- Migrations
|   |   |-- ...
|   |
|   |-- Persistance
|   |   |-- MyEmploDbContext.cs
|   |
|   |-- Repositories
|       |-- MyEmploRepository.cs
|       |-- MyEmploServiceRepository.cs
|   
|-- MyEmplo.MVC
|   |-- Controllers
|   |   |-- HomeController.cs
|   |   |-- MyEmploController.cs
|   |
|   |-- Models
|   |   |-- ErrorViewModel.cs
|   |   |-- Notification.cs
|   |
|   |-- Views
|   |   |-- Home
|   |   |   |-- ...
|   |   |
|   |   |-- MyEmplo
|   |       |-- ...
|   |
|   |-- wwwroot
|       |-- ...
|
|-- appsettings.json
|-- Program.cs
|-- ...



🤖Technologies used

MyEmplo.MVC (Presentation Layer)

- Dependencies:
  - Microsoft.AspNetCore.Components.QuickGrid.EntityFrameworkAdapter v8.0.0
  - Microsoft.AspNetCore.Identity.EntityFrameworkCore v8.0.0
  - Microsoft.AspNetCore.Identity.UI v8.0.0
  - Microsoft.EntityFrameworkCore v8.0.0
  - Microsoft.EntityFrameworkCore.SqlServer v8.0.0
  - Microsoft.EntityFrameworkCore.Tools v8.0.0
  - Microsoft.VisualStudio.Web.CodeGeneration.Design v8.0.0
- Project References:
  - MyEmplo.Application
  - MyEmplo.Infrastructure

MyEmplo.Application (Application Layer)

- Dependencies:
  - AutoMapper v12.0.1
  - AutoMapper.Extensions.Microsoft.DependencyInjection v12.0.1
  - FluentValidation.AspNetCore v11.3.0
  - MediatR.Extensions.Microsoft.DependencyInjection v11.1.0
  - Microsoft.Extensions.DependencyInjection.Abstractions v8.0.0
- Project References:
  - MyEmplo.Domain

MyEmplo.Domain (Domain Layer)

- Dependencies:
  - Microsoft.Extensions.Identity.Stores v8.0.0

MyEmplo.Infrastructure (Infrastructure Layer)

- Dependencies:
  - Microsoft.AspNetCore.Identity.EntityFrameworkCore v8.0.0
  - Microsoft.AspNetCore.Identity.UI v8.0.0
  - Microsoft.EntityFrameworkCore v8.0.0
  - Microsoft.EntityFrameworkCore.SqlServer v8.0.0
  - Microsoft.EntityFrameworkCore.Tools v8.0.0
- Project References:
  - MyEmplo.Application




🌌Gallery of MyEmplo



🌻 Feedback

If you have any feedback, please reach out to us at [email protected]

🎋Full App Structure

MyEmplo
|
|-- MyEmplo.Application
|   | 
|   |-- ApplicationUser
|   |   |-- CurrentUser.cs
|   |   |-- UserContext.cs
|   |   
|   |-- Extensions
|   |   |-- ServiceCollectionExtensions.cs
|   | 
|   |-- Mappings
|   |   |-- MyEmploMappingProfile.cs
|   | 
|   |-- MyEmplo
|   |   |-- Commands
|   |   |  |-- CreateMyEmplo
|   |   |  |  |-- CreateMyEmloCommandHandler.cs
|   |   |  |  |-- CreateMyEmploCommand.cs
|   |   |  |  |-- CreateMyEmploCommandValidator.cs
|   |   |  |  |
|   |   |  |-- EditMyEmplo
|   |   |  |  |-- EditMyEmploCommand.cs
|   |   |  |  |-- EditMyEmploCommandHandler.cs
|   |   |  |  |-- EditMyEmploCommandValidator.cs
|   |   |
|   |   |-- Queries
|   |   |  |-- GetAllMyEmplo
|   |   |  |  |-- GetAllMyEmploQuery.cs
|   |   |  |  |-- GetAllMyEmploQueryHandler.cs
|   |   |  |  |
|   |   |  |-- GetMyEmploByEncodedName
|   |   |  |  |-- GetMyEmploByEncodedNameQuery.cs
|   |   |  |  |-- GetMyEmploByEncodedNameQueryHandler.cs
|   |   |
|   |   |-- MyEmploDto.cs
|   |   |-- MyEmploDtoValidator.cs
|   | 
|   |-- MyEmploService
|   |   |-- Commands
|   |   |  |-- CreateMyEmploServiceCommand.cs
|   |   |  |-- CreateMyEmploServiceCommandHandler.cs
|   |   |  |-- CreateMyEmploServiceCommandValidator.cs
|   |   |
|   |   |-- Queries
|   |   |  |-- GetMyEmploServices
|   |   |  |  |-- GetMyEmploServicesQuery.cs
|   |   |  |  |-- GetMyEmploServicesQueryHandler.cs
|   |   | 
|   |   |-- MyEmploServiceDto.cs
|   | 
|   |-- Services
|
|
|-- MyEmplo.Domain
|   |
|   |-- Entities
|   |   |-- MyEmplo.cs
|   |   |-- MyEmploService.cs
|   |
|   |-- Interfaces
|   |   |-- IMyEmploRepository.cs
|   |   |-- IMyEmploServiceRepository.cs
|
|
|-- MyEmplo.Infrastructure
|   |
|   |-- Extensions
|   |   |-- ServiceCollectionExtension.cs
|   |
|   |-- Migrations
|   |   |-- ...
|   |
|   |-- Persistance
|   |   |-- MyEmploDbContext.cs
|   |
|   |-- Repositories
|   |   |-- MyEmploRepository.cs
|   |   |-- MyEmploServiceRepository.cs
|   |
|   |-- Seeders
|   |   |-- MyEmploSeeder.cs
|   |
|
|-- MyEmplo.MVC
|   
|   |-- Areas
|   |   |-- Identity
|   |   |  |-- Data
|   |   |  |-- Pages
|   |
|   |-- wwwroot
|   |   |
|   |   |-- img
|   |   |  |-- icons
|   |   |  |-- others
|   |   |  |-- site
|   |   |
|   |   |-- css
|   |   |  |-- site.css
|   |   |
|   |   |-- js
|   |   |  |-- site.js
|   |   |
|   |   |-- lib
|   |   |  |-- ...
|   | 
|   |-- Controllers
|   |   |-- HomeController.cs
|   |   |-- MyEmploController.cs
|   |
|   |-- Extensions
|   |  |-- ControllerExtensions.cs
|   |
|   |-- Models
|   |  |-- ErrorViewModel.cs
|   |  |-- Notification.cs
|   |
|   |-- Views
|   |  |-- Home
|   |  | |-- Contact.cshtml
|   |  | |-- index.cshtml
|   |  | |-- NoAccess.cshtml
|   |  |
|   |  |-- MyEmplo
|   |  | |-- _CreateMyEmploService.cshtml
|   |  | |-- Create.cshtml
|   |  | |-- Delete.cshtml
|   |  | |-- Details.cshtml
|   |  | |-- Edit.cshtml
|   |  | |-- Index.cshtml
|   |  |
|   |  |-- Shared
|   |  | |-- _Layout.cshtml
|   |  | |-- _LoginPartial.cshtml
|   |  |
|   |  |-- _ViewImports.cshtml
|   |  |-- _ViewStart.cshtml
|   |
|   |-- appsettings.json
|   |-- Program.cs
|   |... 

About

Your personal assistant for employee management

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published