Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KKN API

RESTful API untuk Sistem Pemilihan Lokasi Kuliah Kerja Nyata (KKN) menggunakan ASP.NET Core, Entity Framework Core, dan MySQL.

🚧 Status: Under Development


✨ Features

  • 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)

📂 Repository Structure

KKN/
│
├── KKN.slnx                 # Solution .NET
├── README.md
├── LICENSE
│
└── KKN.Api/
    │
    ├── Controllers/
    ├── DTOs/
    ├── Mappers/
    ├── Models/
    ├── Migrations/
    ├── Properties/
    ├── Program.cs
    ├── appsettings.json
    └── KKN.Api.csproj

📖 Penjelasan Struktur

KKN.slnx

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.


KKN.Api

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

🚀 Menjalankan Project

1. Clone Repository

git clone https://github.com/muhammadkusuma/KKN.git

Masuk ke folder project

cd KKN

2. Restore Dependency

dotnet restore

3. Konfigurasi Database

Edit file:

KKN.Api/appsettings.json

Contoh:

{
  "ConnectionStrings": {
    "default": "server=localhost;database=kkn;user=root;password=password;"
  }
}

4. Jalankan Migration

dotnet ef database update --project KKN.Api

Jika belum memiliki migration:

dotnet ef migrations add InitialCreate --project KKN.Api
dotnet ef database update --project KKN.Api

5. Menjalankan API

Dari folder root:

dotnet run --project KKN.Api

Atau masuk ke project:

cd KKN.Api
dotnet run

📚 API Documentation

Setelah aplikasi berjalan, dokumentasi API dapat diakses melalui:

http://localhost:5137/swagger

atau

http://localhost:5137/openapi

sesuai konfigurasi project.


📦 Current Modules

  • ✅ User Management

    • CRUD User
    • Password Hashing (BCrypt)
    • Email Validation
    • User Role
  • 🚧 Authentication

  • 🚧 Location Management

  • 🚧 Village Management

  • 🚧 Registration

  • 🚧 KKN Placement


🛣 Roadmap

Authentication

  • Login
  • JWT Authentication
  • Refresh Token
  • Authorization

User

  • CRUD User
  • Password Hashing
  • Search
  • Pagination
  • Soft Delete

Location

  • CRUD Location
  • Location Quota
  • Active Status

Student

  • Student Registration
  • Select KKN Location
  • History

DPL

  • CRUD DPL
  • Student Assignment
  • Monitoring

Admin

  • Dashboard
  • Reports
  • Export Excel / PDF

🤝 Contributing

Kontribusi sangat dipersilakan.

  1. Fork repository
  2. Buat branch baru
  3. Commit perubahan
  4. Push ke branch
  5. Buat Pull Request

⭐ Support

Jika repository ini bermanfaat, jangan lupa berikan Star ⭐.


📄 License

MIT License


Made with ❤️ by M. Wira Ade Kusuma

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages