RESTful API untuk Sistem Pemilihan Lokasi Kuliah Kerja Nyata (KKN) menggunakan ASP.NET Core, Entity Framework Core, dan MySQL.
🚧 Status: Under Development
- RESTful API
- ASP.NET Core
- Entity Framework Core
- MySQL
- OpenAPI / Swagger
- BCrypt Password Hashing
- DTO Pattern
- Mapper Pattern
- Entity Relationship
- Database Migration
- Clean Architecture (Simple Layer)
KKN/
│
├── KKN.slnx # Solution .NET
├── README.md
├── LICENSE
│
└── KKN.Api/
│
├── Controllers/
├── DTOs/
├── Mappers/
├── Models/
├── Migrations/
├── Properties/
├── Program.cs
├── appsettings.json
└── KKN.Api.csproj
Merupakan Solution File milik .NET.
Fungsinya untuk mengelompokkan beberapa project dalam satu repository.
Saat ini repository hanya memiliki satu project:
KKN.Api
Namun nantinya dapat berkembang menjadi:
KKN/
│
├── KKN.slnx
│
├── KKN.Api/
├── KKN.Web/
├── KKN.Mobile/
├── KKN.Shared/
└── KKN.Tests/
Dengan begitu seluruh project tetap berada dalam satu solution dan mudah dibuka menggunakan Visual Studio, Visual Studio Code, maupun JetBrains Rider.
Merupakan project utama yang berisi REST API.
Di dalamnya terdapat beberapa folder penting:
| Folder | Fungsi |
|---|---|
| Controllers | Endpoint REST API |
| Models | Entity Database & DbContext |
| DTOs | Object Request & Response |
| Mappers | Konversi DTO ↔ Entity |
| Migrations | Riwayat perubahan database |
| Program.cs | Konfigurasi aplikasi |
| appsettings.json | Konfigurasi aplikasi & database |
git clone https://github.com/muhammadkusuma/KKN.gitMasuk ke folder project
cd KKNdotnet restoreEdit file:
KKN.Api/appsettings.json
Contoh:
{
"ConnectionStrings": {
"default": "server=localhost;database=kkn;user=root;password=password;"
}
}dotnet ef database update --project KKN.ApiJika belum memiliki migration:
dotnet ef migrations add InitialCreate --project KKN.Api
dotnet ef database update --project KKN.ApiDari folder root:
dotnet run --project KKN.ApiAtau masuk ke project:
cd KKN.Api
dotnet runSetelah aplikasi berjalan, dokumentasi API dapat diakses melalui:
http://localhost:5137/swagger
atau
http://localhost:5137/openapi
sesuai konfigurasi project.
-
✅ User Management
- CRUD User
- Password Hashing (BCrypt)
- Email Validation
- User Role
-
🚧 Authentication
-
🚧 Location Management
-
🚧 Village Management
-
🚧 Registration
-
🚧 KKN Placement
- Login
- JWT Authentication
- Refresh Token
- Authorization
- CRUD User
- Password Hashing
- Search
- Pagination
- Soft Delete
- CRUD Location
- Location Quota
- Active Status
- Student Registration
- Select KKN Location
- History
- CRUD DPL
- Student Assignment
- Monitoring
- Dashboard
- Reports
- Export Excel / PDF
Kontribusi sangat dipersilakan.
- Fork repository
- Buat branch baru
- Commit perubahan
- Push ke branch
- Buat Pull Request
Jika repository ini bermanfaat, jangan lupa berikan Star ⭐.
MIT License
Made with ❤️ by M. Wira Ade Kusuma