Project Documentation


📚 Book Management System (CRUD)

āĻāχ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟāϟāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āφāĻŽāϰāĻž ASP.NET Core 9 (MVC) āĻĢā§āϰ⧇āĻŽāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻāĻŦāĻ‚ SQL Server āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĻ›āĻŋāĨ¤

Step 1: āĻŽāĻĄā§‡āϞ āϤ⧈āϰāĻŋ āĻ•āϰāĻž (The Data Structure)

āĻĒā§āϰāĻĨāĻŽā§‡ āφāĻŽāϰāĻž āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇ āϕ⧀ āϕ⧀ āϤāĻĨā§āϝ āϰāĻžāĻ–āϤ⧇ āϚāĻžāχ, āϤāĻž āĻ āĻŋāĻ• āĻ•āϰ⧇āĻ›āĻŋāĨ¤ Models āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ⧇ Book.cs āĻĢāĻžāχāϞ⧇ āφāĻŽāϰāĻž āύāĻŋāĻšā§‡āϰ āϕ⧋āĻĄāϟāĻŋ āϞāĻŋāϖ⧇āĻ›āĻŋ:


namespace BookListProject.Models
{
    public class Book
    {
        [Key]
        public int Id { get; set; }
        public string Title { get; set; } = string.Empty;
        public string Author { get; set; } = string.Empty;
        public string? ImageUrl { get; set; }
    }
}
                            

āϕ⧇āύ āĻ•āϰāϞāĻžāĻŽ: āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇ āĻŸā§‡āĻŦāĻŋāϞ āϤ⧈āϰāĻŋāϰ āϜāĻ¨ā§āϝ āĻāχ āĻ•ā§āϞāĻžāϏāϟāĻŋāχ āĻŦā§āϞ⧁-āĻĒā§āϰāĻŋāĻ¨ā§āϟ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤

Step 2: āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻŽāĻžāχāĻ—ā§āϰ⧇āĻļāύ āĻ“ āĻŦāĻžāĻ— āĻĢāĻŋāĻ•ā§āϏāĻŋāĻ‚

āĻŽāĻĄā§‡āϞ āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āĻĒāϰ āφāĻŽāϰāĻž āύāĻŋāĻšā§‡āϰ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϗ⧁āϞ⧋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĻ›āĻŋ:

  • Add-Migration InitialCreate
  • Update-Database
āĻŦāĻžāĻ— āĻĢāĻŋāĻ•ā§āϏ: āĻļ⧁āϰ⧁āϤ⧇ Price āĻ“ Description āĻ›āĻŋāϞ, āϝāĻž āĻĒāϰ⧇ āĻŦāĻžāĻĻ āĻĻ⧇āĻ“ā§ŸāĻž āĻšā§ŸāĨ¤ āφāĻŽāϰāĻž āύāϤ⧁āύ āĻŽāĻžāχāĻ—ā§āϰ⧇āĻļāύ āĻĻāĻŋā§Ÿā§‡ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āφāĻĒāĻĄā§‡āϟ āĻ•āϰ⧇ āĻ…āĻĒā§āĻ°ā§Ÿā§‹āϜāĻ¨ā§€ā§Ÿ āĻ•āϞāĻžāĻŽ āĻŽā§āϛ⧇ āĻĢ⧇āϞ⧇āĻ›āĻŋāĨ¤
Step 3: āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞāĻžāϰ āϞāϜāĻŋāĻ• (BookController.cs)

[HttpPost]
public IActionResult Create(Book obj, IFormFile? file) {
    if (file != null) {
        // āĻ›āĻŦāĻŋ āϏ⧇āĻ­ āĻ•āϰāĻžāϰ āϞāϜāĻŋāĻ•
        obj.ImageUrl = "/images/books/" + fileName;
    }
    _db.Books.Add(obj);
    _db.SaveChanges();
    return RedirectToAction("Index");
}
                            
Step 4: āĻ­āĻŋāω āĻĢāĻžāχāϞāϏāĻŽā§‚āĻš (UI āĻĄāĻŋāϜāĻžāχāύ)

ā§§. Index: āϞāĻŋāĻ¸ā§āϟ āĻ­āĻŋāω āϝ⧇āĻ–āĻžāύ⧇ text-dark āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŸā§‡āĻ•ā§āϏāϟ āĻ¸ā§āĻĒāĻˇā§āϟ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇āĨ¤

⧍. Create: āύāϤ⧁āύ āĻŦāχ āϝ⧋āĻ— āĻ•āϰāĻžāϰ āĻĢāĻ°ā§āĻŽāĨ¤

ā§Š. Manage: āĻāĻĄāĻŋāϟ āĻ“ āĻĄāĻŋāϞāĻŋāϟ āĻŦāĻžāϟāύāϏāĻš āĻŽā§āϝāĻžāύ⧇āϜāĻŽā§‡āĻ¨ā§āϟ āĻĒ⧇āϜāĨ¤

ā§Ē. Edit & Delete: āϤāĻĨā§āϝ āφāĻĒāĻĄā§‡āϟ āĻāĻŦāĻ‚ āĻĄāĻŋāϞāĻŋāϟ āĻ•āύāĻĢāĻžāĻ°ā§āĻŽā§‡āĻļāύāĨ¤

āϏāĻžāϰāϏāĻ‚āĻ•ā§āώ⧇āĻĒ: āĻĒā§āϰāĻœā§‡āĻ•ā§āϟāϟāĻŋ āϝ⧇āĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇

āχāωāϜāĻžāϰ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻĨ⧇āϕ⧇ āĻŦāχāϝāĻŧ⧇āϰ āϤāĻĨā§āϝ āĻ“ āĻ›āĻŦāĻŋ āĻĻāĻŋāϞ⧇ āϤāĻž āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻāĻŦāĻ‚ āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ⧇ āϏ⧇āĻ­ āĻšāϝāĻŧāĨ¤ āχāύāĻĄā§‡āĻ•ā§āϏ āĻĒ⧇āĻœā§‡ āϤāĻž āĻĻ⧇āĻ–āĻž āϝāĻžāϝāĻŧ āĻāĻŦāĻ‚ āĻŽā§āϝāĻžāύ⧇āϜ āĻĒ⧇āϜ āĻĨ⧇āϕ⧇ āĻāĻĄāĻŋāϟ/āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰāĻž āϝāĻžāϝāĻŧāĨ¤