This repository contains the source code for a school management system built using ASP.NET Core 7 MVC. The project is designed to provide an educational resource for developers looking to build cross-platform web applications using the latest version of the .NET Core framework.
The project is a supporting repository for the course called "ASP.NET Core 7 MVC - Cross-Platform Development," which can be found at this URL: https://www.udemy.com/course/learn-aspnet-mvc-and-entity-framework/?referralCode=3B3CCAC77E3C70EF5B36.
The project uses the following technologies:
- ASP.NET Core 7 MVC
- Entity Framework Core
- SQL Server
- Bootstrap
- jQuery
- AutoMapper
To get started with the project, follow these steps:
- Clone the repository to your local machine.
- Install the latest version of .NET Core SDK and SQL Server on your machine.
- Update the connection string in the
appsettings.json
file with your SQL Server connection string. - Run the following commands in the root directory of the project to set up the database:
dotnet ef database update --project SchoolManagementSystem.Infrastructure --startup-project SchoolManagementSystem.Web
- Run the following command to start the web application:
dotnet run --project SchoolManagementSystem.Web
The solution is composed of the following projects:
SchoolManagementSystemApp
: Contains the MVC controllers, views, and data models.
The project includes the following features:
- Authentication and Authorization using OAuth and cookies
- CRUD operations for Students, Teachers, and Classes
- Search functionality for Students and Teachers
- Form Validation
- Exception handling middleware
The repository contains documentation for each of the features, including:
- An overview of the feature and its intended use case
- Installation and configuration instructions
- Code walkthroughs and explanations
- Best practices and tips for working with the feature
The documentation is designed to be accessible to developers of all skill levels, from beginners to advanced users.
Contributions to this repository are welcome. If you have a feature or educational resource that you would like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your changes.
- Make your changes and commit them to your branch.
- Submit a pull request.
Please ensure that your contributions adhere to the repository's code of conduct and that they are well-documented and follow best practices.
This repository is licensed under the MIT License. See the LICENSE file for more information.