Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/raofin/ibos-assignment
An ASP.NET Core API project with SOLID principles, JWT authentication, SQLite, and multiple endpoints.
https://github.com/raofin/ibos-assignment
aspnet-core c-hash entity-framework-core jwt-token mssql repository-pattern solid-principles sqlite
Last synced: 5 days ago
JSON representation
An ASP.NET Core API project with SOLID principles, JWT authentication, SQLite, and multiple endpoints.
- Host: GitHub
- URL: https://github.com/raofin/ibos-assignment
- Owner: Raofin
- License: bsd-3-clause
- Created: 2023-09-07T22:23:50.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-09-11T22:59:18.000Z (over 1 year ago)
- Last Synced: 2024-12-24T10:34:48.659Z (about 2 months ago)
- Topics: aspnet-core, c-hash, entity-framework-core, jwt-token, mssql, repository-pattern, solid-principles, sqlite
- Language: C#
- Homepage: https://ibos-assignment.rawfin.net
- Size: 423 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# iBOS-Assignment
An ASP.NET Core API project developed with C#, .NET Core, MSSQL, and Entity Framework Core using the SOLID architectural pattern and other interesting concepts.
### Live: [https://ibos-assignment.raofin.net](https://ibos-assignment.raofin.net)
## Screenshot
## Implemented Concepts
✔️ [**JWT Token:**](https://github.com/Raofin/iBOS-Assignment/blob/6f45749eca339f515831bd1e04b27ae3aff94b5f/iBOS-Assignment/API/Startup.cs#L99-L112) JWT token authentication for secure access to the APIs.✔️ [**SQLite:**](https://github.com/Raofin/iBOS-Assignment/blob/6f45749eca339f515831bd1e04b27ae3aff94b5f/iBOS-Assignment/API/Startup.cs#L34-L35) SQLite as the database storage.
✔️ [**Repository Pattern:**](https://github.com/Raofin/iBOS-Assignment/tree/master/iBOS-Assignment/DAL/Repositories) Repository pattern, providing a structured approach to data access and manipulation.
✔️ **SOLID Principles:** The SOLID architecture principles to enhance code maintainability, extensibility, and reusability.
✔️ [**Model Validation**](https://github.com/Raofin/iBOS-Assignment/tree/master/iBOS-Assignment/DAL/Models) Perfect model validations to ensure the integrity and validity of data inputs.
## [**API Endpoints**](https://github.com/Raofin/iBOS-Assignment/blob/master/iBOS-Assignment/API/Controllers/ApiTasksController.cs)
- **API#01. Update Employee Name and Employee Code**
- Allows to update an employee's name and code.
- Ensures uniqueness of employee codes to prevent duplicates.
- `PUT /api/tasks/UpdateNameAndCode/{employeeId}`- **API#02. Get 3rd Highest Salary Employee**
- Retrieves the employee who has the 3rd highest salary.
- `GET /api/tasks/GetThirdHighestSalaryEmployee`- **API#03. Get Employees with No Absent Records**
- Lists all employees sorted by maximum to minimum salary, who have no absent records.
- `GET /api/tasks/GetEmployeesWithNoAbsentRecords`- **API#04. Get Monthly Attendance Report**
- Generates a detailed monthly attendance report for all employees.
- Report columns include Employee Name, Date, Salary, Total Present, Total Absent, and Total Offday.
- `GET /api/tasks/MonthlyReport`- **API#05. Get Employee Hierarchy**
- Retrieves the employee hierarchy based on supervisor relationships.
- Input an Employee ID, and the API returns a hierarchical list of employees leading to the specified employee.
- `GET /api/tasks/GetHierarchy/{employeeId}`- **API#06. Get Auth Token**
- Generates and returns a JWT authentication token.
- `GET /api/Auth/GetToken`## License
This project is licensed under the [BSD 3-Clause](LICENSE).