My exercise project with ASP .NET Core in Agate Internship. This app is a CRUD application of a School that based on many forms, they are Web MVC Appliaction and API Application (separated into two projects, these are normal/basic API and OData (Open Data) protocol API).
I classify my program solution into five separate projects, they are
- Agate_Model - General model for this solution
- Agate_API - Basic API Application
- Agate_View - MVC Application
- Agate_Odata - OData-based API Application
- Agate_Test - Unit Test with XUnit
In this app, I made two entities with EF Core, that translated into two tables in MySQL, they are
- Student
- ID (Int - PK)
- Name (String)
- Grade (Int)
- Class Number (Int)
- Class
- Grade (Int - PK)
- Class Number (Int - PK)
Student and Class entity have one-to-many relationship, that every class has many students, but a student only join one class.
In this exercise app, I have learned and implemented these
- JSON Data Format with the Serialization & Deserialization of Data
- Dependency Injection
- Routing & Middleware
- Database (with In-memory and MySQL DB) & LINQ (Language-Integrated Query)
- Migration & Data Seeding
- Multiple Software Environment (Development, Debug, Staging, Sandbox, Release)
- User App Secret
- MVC (Model-View-Controller) Architecture
- View Rendering & Tag Helper
- HTTP Request (API's data fetching)
- HTTP Context Modifying
- Authentication (with ASP .NET Core Identity Library)
- Localization & Globalization
- OData (Open Data) Protocol
- Swagger (an API Documenting Library)
- Unit Test (with XUnit Library)
Before you run this app, you should have these application
- Visual Studio - To compile and start the app
- Web Browser (such Mozilla, Chrome, etc) - To use/operate MVC app
- API Development App (such as Postman or Insomnia - To use/operate API app
- Open Visual Studio, then open the solution with it.
- Optional step, select clean the solution from Build menu
- Select Build the solution or Rebuild the solution from Build menu
- Select the App that you want to run/start from the toolbar (you can try to select to run multiple project too)
- Then run the project by select green play button beside it (or you can try to select it from Debug menu)
- After runned successfully, open/operate the app by use web browser or API dev app.
NOT FINISHED YET, contact me for details