# C# საფინალო პროექტის იდეები (გამარტივებული) ## 📋 პროექტის კრიტერიუმები ### სავალდებულო მოთხოვნები: 1. ✅ **ფაილებზე დაფუძნებული ბაზა** - JSON 2. ✅ **მინიმუმ 2 ბაზის ფაილი** (მაგ. Users.json, Products.json) 3. ✅ **სუფთა სტრუქტურა** - ორგანიზებული ფოლდერები 4. ✅ **მენიუს სისტემა** - კონსოლში ნავიგაცია 5. ✅ **მინიმუმ 10 ფუნქცია** --- ## 🛒 პროექტი #1: მაღაზიის სისტემა (ყველაზე მარტივი) ### 📊 მონაცემთა მოდელები #### Users.json ```json { "Users": [ { "Id": 1, "Username": "gio", "Password": "123456", "Balance": 500.0 } ] } ``` #### Products.json ```json { "Products": [ { "Id": 1, "Name": "ლეპტოპი", "Price": 1200.0, "Stock": 10 } ] } ``` #### Cart.json ```json { "CartItems": [ { "UserId": 1, "ProductId": 1, "Quantity": 2 } ] } ``` ### 🎯 ფუნქციები (10 ფუნქცია) 1. **Register()** - რეგისტრაცია 2. **Login()** - შესვლა 3. **ViewProducts()** - პროდუქტების ნახვა 4. **SearchProduct()** - პროდუქტის ძიება 5. **AddToCart()** - კალათაში დამატება 6. **ViewCart()** - კალათის ნახვა 7. **RemoveFromCart()** - კალათიდან წაშლა 8. **Checkout()** - შეძენა 9. **AddBalance()** - ბალანსის შევსება 10. **ViewProfile()** - პროფილის ნახვა ### 📁 პროექტის სტრუქტურა ``` ShoppingApp/ │ ├── Data/ │ ├── Users.json │ ├── Products.json │ └── Cart.json │ ├── Models/ │ ├── User.cs │ ├── Product.cs │ └── CartItem.cs │ ├── Services/ │ ├── UserService.cs │ ├── ProductService.cs │ └── CartService.cs │ └── Program.cs ``` ### 🎨 მენიუს მაგალითი ``` ═══════════════════════════════ 🛒 მაღაზია ═══════════════════════════════ 1. შესვლა 2. რეგისტრაცია 3. გასვლა ═══════════════════════════════ აირჩიე: _ [შესვლის შემდეგ] ═══════════════════════════════ მოგესალმებით! ბალანსი: 500₾ ═══════════════════════════════ 1. პროდუქტების ნახვა 2. პროდუქტის ძიება 3. კალათის ნახვა 4. ბალანსის შევსება 5. პროფილი 6. გასვლა ═══════════════════════════════ ``` --- ## 📚 პროექტი #2: ბიბლიოთეკის სისტემა ### 📊 მონაცემთა მოდელები #### Users.json ```json { "Users": [ { "Id": 1, "Username": "nino", "Role": "Reader" } ] } ``` #### Books.json ```json { "Books": [ { "Id": 1, "Title": "ვეფხისტყაოსანი", "Author": "შოთა რუსთაველი", "Available": true } ] } ``` #### Borrowings.json ```json { "Borrowings": [ { "Id": 1, "UserId": 1, "BookId": 1, "BorrowDate": "2025-09-15", "DueDate": "2025-10-15", "Returned": false } ] } ``` ### 🎯 ფუნქციები (10 ფუნქცია) 1. **Register()** - რეგისტრაცია 2. **Login()** - შესვლა 3. **ViewBooks()** - წიგნების ნახვა 4. **SearchBook()** - წიგნის ძიება 5. **BorrowBook()** - წიგნის აღება 6. **ReturnBook()** - წიგნის დაბრუნება 7. **ViewMyBooks()** - ჩემი წიგნები 8. **AddBook()** - წიგნის დამატება (ადმინი) 9. **RemoveBook()** - წიგნის წაშლა (ადმინი) 10. **ViewOverdue()** - დაგვიანებული წიგნები ### 📁 პროექტის სტრუქტურა ``` LibraryApp/ │ ├── Data/ │ ├── Users.json │ ├── Books.json │ └── Borrowings.json │ ├── Models/ │ ├── User.cs │ ├── Book.cs │ └── Borrowing.cs │ ├── Services/ │ ├── UserService.cs │ ├── BookService.cs │ └── BorrowingService.cs │ └── Program.cs ``` --- ## 🏨 პროექტი #3: სასტუმროს სისტემა ### 📊 მონაცემთა მოდელები #### Users.json ```json { "Users": [ { "Id": 1, "Username": "mari", "Phone": "555123456" } ] } ``` #### Rooms.json ```json { "Rooms": [ { "Id": 101, "Type": "Single", "Price": 80.0, "Available": true } ] } ``` #### Bookings.json ```json { "Bookings": [ { "Id": 1, "UserId": 1, "RoomId": 101, "CheckIn": "2025-10-01", "CheckOut": "2025-10-05", "TotalPrice": 320.0 } ] } ``` ### 🎯 ფუნქციები (10 ფუნქცია) 1. **Register()** - რეგისტრაცია 2. **Login()** - შესვლა 3. **ViewRooms()** - ოთახების ნახვა 4. **SearchRooms()** - ოთახის ძიება 5. **BookRoom()** - ოთახის დაჯავშნა 6. **ViewMyBookings()** - ჩემი დაჯავშნები 7. **CancelBooking()** - დაჯავშნის გაუქმება 8. **AddRoom()** - ოთახის დამატება (მენეჯერი) 9. **UpdatePrice()** - ფასის შეცვლა (მენეჯერი) 10. **ViewAllBookings()** - ყველა დაჯავშნა (მენეჯერი) --- ## 🎬 პროექტი #4: კინოს ბილეთების სისტემა ### 📊 მონაცემთა მოდელები #### Movies.json ```json { "Movies": [ { "Id": 1, "Title": "Inception", "Genre": "Sci-Fi", "Duration": 148 } ] } ``` #### Showtimes.json ```json { "Showtimes": [ { "Id": 1, "MovieId": 1, "DateTime": "2025-09-30 18:00", "Hall": "Hall 1", "AvailableSeats": 85, "Price": 15.0 } ] } ``` #### Bookings.json ```json { "Bookings": [ { "Id": 1, "UserId": 1, "ShowtimeId": 1, "Seats": ["A1", "A2"], "TotalPrice": 30.0 } ] } ``` ### 🎯 ფუნქციები (10 ფუნქცია) 1. **Register()** - რეგისტრაცია 2. **Login()** - შესვლა 3. **ViewMovies()** - ფილმების ნახვა 4. **SearchMovie()** - ფილმის ძიება 5. **ViewShowtimes()** - სეანსების ნახვა 6. **SelectSeats()** - ადგილების არჩევა 7. **BookTickets()** - ბილეთის შეძენა 8. **ViewMyBookings()** - ჩემი ბილეთები 9. **CancelBooking()** - ბილეთის გაუქმება 10. **AddMovie()** - ფილმის დამატება (ადმინი) --- ## 🍕 პროექტი #5: რესტორნის სისტემა ### 📊 მონაცემთა მოდელები #### Menu.json ```json { "MenuItems": [ { "Id": 1, "Name": "პიცა მარგარიტა", "Category": "მთავარი კერძი", "Price": 25.0, "Available": true } ] } ``` #### Orders.json ```json { "Orders": [ { "Id": 1, "UserId": 1, "TableNumber": 5, "Items": [ { "ItemId": 1, "Quantity": 2 } ], "TotalPrice": 50.0, "Status": "მზადდება" } ] } ``` #### Tables.json ```json { "Tables": [ { "Id": 1, "Number": 5, "Capacity": 4, "Occupied": true } ] } ``` ### 🎯 ფუნქციები (10 ფუნქცია) 1. **Register()** - რეგისტრაცია 2. **Login()** - შესვლა 3. **ViewMenu()** - მენიუს ნახვა 4. **SearchItem()** - კერძის ძიება 5. **AddToOrder()** - კერძის დამატება 6. **PlaceOrder()** - შეკვეთის გაფორმება 7. **ViewMyOrders()** - ჩემი შეკვეთები 8. **ReserveTable()** - მაგიდის დაჯავშნა 9. **AddMenuItem()** - კერძის დამატება (მენეჯერი) 10. **UpdateStatus()** - სტატუსის შეცვლა (მენეჯერი) --- ## 💡 დამატებითი რჩევები ### ფაილებთან მუშაობა ```csharp // JSON-ის წაკითხვა string json = File.ReadAllText("Data/Users.json"); var users = JsonSerializer.Deserialize<List<User>>(json); // JSON-ში ჩაწერა string json = JsonSerializer.Serialize(users); File.WriteAllText("Data/Users.json", json); ``` ### მარტივი ვალიდაცია ```csharp if (string.IsNullOrEmpty(username)) { Console.WriteLine("სახელი ცარიელია!"); return; } if (price < 0) { Console.WriteLine("ფასი არასწორია!"); return; } ``` ### მენიუს მაგალითი კოდში ```csharp while (true) { Console.Clear(); Console.WriteLine("1. პროდუქტების ნახვა"); Console.WriteLine("2. კალათის ნახვა"); Console.WriteLine("3. გასვლა"); int choice = int.Parse(Console.ReadLine()); switch (choice) { case 1: ViewProducts(); break; case 2: ViewCart(); break; case 3: return; } } ```