This is a simple yet powerful Company Management System built using the ASP.NET MVC framework. The application manages employees, departments, users, roles, and includes essential features like document settings, user authentication, and password management. The project follows best practices such as the Repository Design Pattern and Unit of Work, ensuring clean and maintainable code.
- Employee Management: CRUD operations for employees with photo/document settings.
- Department Management: CRUD operations for managing company departments.
- User Management: CRUD operations for users and assigning roles.
- Role Management: CRUD operations for roles.
- Authentication and Authorization:
- User registration and login functionality.
- Password reset module.
- Role-based access control for system security.
- Document Settings: Manage employee photos and other settings.
- Best Practices: Implements Repository Design Pattern and Unit of Work.
- Asynchronous Operations: Uses
async/awaitfor improved performance. - Generic Data Types: Utilized for flexibility and efficiency.
- Programming Language: C#
- Framework: ASP.NET MVC
- Database: SQL Server
- Front-End: HTML, CSS, JavaScript, Bootstrap
- Package Manager: NuGet
- ORM: Entity Framework
- Design Patterns: Repository Pattern, Unit of Work
Ensure you have the following installed:
- Visual Studio (2019/2022 or higher)
- .NET Framework or .NET Core
- SQL Server
- Clone this repository:
https://github.com/Jamal3bsalam/MVC-Project.git
- Open the project in Visual Studio.
- Restore NuGet packages:
dotnet restore- Update the database connection string in web.config or appsettings.json.
- Apply database migrations (if applicable):
dotnet ef database update
- Run the project from Visual Studio.
- Register as a new user or log in with existing credentials.
- Access different modules like Employees, Departments, and Roles based on your user role.
- Perform CRUD operations and manage the system.
-
** This project helped me deepen my understanding of:
-
Building robust web applications using ASP.NET MVC.
-
Implementing Repository and Unit of Work design patterns.
-
Working with asynchronous methods and generic data types.
-
Handling authentication, role-based authorization, and security in web applications.
-
Performing CRUD operations efficiently in a scalable architecture.
- Contributions are welcome! If you have ideas for improvements or additional features, feel free to open an issue or submit a pull request.
- This project is licensed under the MIT License. See the LICENSE.md file for details.
- Email: [jamalwork11@gmail.com]
- LinkedIn: www.linkedin.com/in/gamal-abdelsalsm-b11ab8226
- Replace
your-usernameandyour-repo-namewith your GitHub details. - Update placeholders like
Your EmailandLinkedIn Profilewith your information. - Add any additional features or technologies specific to your project.
This README is now complete and ready for your GitHub repository! Let me know if you'd like further refinements. 😊