HrAdm is a simple personnel management system. The development tools used are ASP.NET Core 6, jQuery 3, Bootstrap 5, and Visual Studio 2022 Community. It is used to introduce common functions and implementation methods of web systems. These functions are organized as follows :
- CRUD: Add, query, modify, and delete functions for single or multiple data tables.
- Custom input field: SSR MVC custom input field.
- Privilege settings: Set users, roles, functions and the range of data that can be accessed.
- Export Word files: Use templates to export data to Word files.
- CMS (Content Management System): Maintain various CMS materials in a simple way.
- Sign-off process function: process design, establishment and application.
- Simple reporting: Handle a large number of reporting needs in a simple way.
- Database change record: record and query the change content of the database.
The main screen of HrAdm is as follows:
After entering the main screen, there are 13 function items on the left menu:
- Leave Application: Create a leave order
- Leave form to be signed: Leave form to be signed
- Process Maintenance: Maintain process data
- Signature data query: Query the signature data
- User Management: Maintain user and user role information
- Role Maintenance: Maintain roles, user roles, and role function data
- Function Maintenance: Maintain functions and role function data
- User Experience Maintenance: Maintain user experience information
- Custom input field: Maintain custom input field data
- Import user information: Import user information
- Latest news maintenance: Maintain the latest news data
- Simple report maintenance: Maintain simple report data
- Change record query: Query the change record of the database
To execute HrAdm, you need to download the following two Repo files from GitHub, extract them to the local directory, and ensure that HrAdm can correctly reference the BaseWeb project:
- Base: Includes four projects: Base, BaseApi, BaseWeb, and BaseEther, which contain basic utilities. HrAdm must refer to the BaseWeb project, the download URL is https://github.com/bruce68tw/Base
- HrAdm: The content is the HrAdm main program.
The following are the directories under the HrAdm project, where directories starting with a underscore indicate special purposes:
- _data: Contains many work files, among which createDb.sql is used to create the data tables of this system and generate data content; Tables.docx is the database file generated by this system.
- _log: Log files generated by system operation.
- _template: Template files required for various functions.
- Controllers: Controller category files.
- Enums: enumerate categories. If the file name ends with Enum, it means it is a numeric type. If it is Estr, it means it is a string type. For example: InputTypeEstr.cs
- Models: Model categories required by the system. The file name is followed by Dto, which represents Data Transfer Object, and Vo, which represents View Object.
- Resources: Multi-language data files, used here for the View page.
- Services: Service category.
- Views: web page files.
- wwwroot: Web front-end CSS, JavaScript files.
- Tables: Entity Model generated using Database First.
The FunConfig section in HrAdm/appsettings.json records the configuration content required for system execution. It contains the following fields:
- Db: Standard database connection string, used in ADO.NET and Entity Framework, and adds MultipleActiveResultSets=True so that each connection can access the database multiple times.
- Locale: The specified multi-language language. The currently allowed input values are: zh-TW (Traditional Chinese), zh-CN (Simplified Chinese), en-US (English). When this field is set, the system will Different language families will be presented.
- LogSql: Whether to record the contents of SQL to the Log file. The default is false. All Log files will be stored in the _log directory. The suffix of this type of file name is sql.
The database name of HrAdm is Hr, and the type can be LocalDB, SQL Express, or MS SQL. Enter SQL Server Management Studio (SSMS), create a blank database Hr, and then execute HrAdm/_data/createDb.sql. This file will Create the following data tables and content:
- Cms: CMS (Content Management System) setting data
- CustInput: Custom input field data
- Dept: department information
- Leave: fake bill information
- User: basic user information
- UserJob: user work experience
- UserLang: Users are proficient in language
- UserLicense: The user obtains the license
- UserSchool: user academic information
- UserSkill: User special skills
- XpCode: Miscellaneous file. This data table is used to store the corresponding data of Key-Value. The name plus Xp indicates the system purpose.
- XpEasyRpt: Quick report setting data
- XpFlow: process setting data
- XpFlowLine: Flow line setting data
- XpFlowNode: process node information
- XpFlowSign: Contains sign-off information for all processes
- XpImportLog: Import data record
- XpTranLog: data change record
- XpProg: basic information on system functions
- XpRole: basic information of the role
- XpRoleProg: role function information
- XpUserRole: User role information
You can participate in this project in the following ways: -Reflect system issues: GitHub Issues
- Modify the program and submit a request: Pull Request
- Join the discussion on Facebook.
- Give away GitHub Stars.
- Purchase Book.
- Bruce Chen - Initial work
This project uses the MIT License.