# C# საფინალო პროექტის იდეები ## 📋 პროექტის კრიტერიუმები ### სავალდებულო მოთხოვნები: 1. ✅ **ფაილებზე დაფუძნებული ბაზის სისტემა** - XML ან JSON 2. ✅ **მინიმუმ 2 ბაზის მოდელი** (მაგ. Users.json, Products.json) 3. ✅ **სუფთა სტრუქტურა** - ფაილები დალაგებულად 4. ✅ **მენიუს სისტემა** - კონსოლში ნავიგაცია 5. ✅ **მინიმუმ 10 ფუნქცია** (მეთოდი) ### დამატებითი (არა სავალდებულო): 6. ⭐ **ავტორიზაციის სისტემა** - მომხმარებლის სესია --- ## 🛒 პროექტი #1: E-Commerce Shopping Cart System (რეკომენდებული) ### 📊 მონაცემთა მოდელები #### 1. Users.json ```json { "Users": [ { "UserId": 1, "Username": "john_doe", "Password": "hashed_password", "Email": "john@example.com", "Role": "Customer", "Balance": 500.00, "CreatedDate": "2025-01-15", "IsActive": true } ] } ``` #### 2. Products.json ```json { "Products": [ { "ProductId": 1, "Name": "Laptop HP", "Description": "15 inch, 16GB RAM", "Price": 1200.00, "Stock": 25, "Category": "Electronics", "ImageUrl": "laptop.jpg", "CreatedDate": "2025-01-10" } ] } ``` #### 3. Orders.json ```json { "Orders": [ { "OrderId": 1, "UserId": 1, "OrderDate": "2025-09-29", "TotalPrice": 1450.00, "Status": "Pending", "Items": [ { "ProductId": 1, "Quantity": 1, "Price": 1200.00 } ] } ] } ``` #### 4. Cart.json ```json { "CartItems": [ { "CartId": 1, "UserId": 1, "ProductId": 1, "Quantity": 2, "AddedDate": "2025-09-29" } ] } ``` ### 🎯 ფუნქციები (15 ფუნქცია) #### მომხმარებლის ფუნქციები: 1. **Register()** - ახალი მომხმარებლის რეგისტრაცია 2. **Login()** - სისტემაში შესვლა 3. **Logout()** - სისტემიდან გასვლა 4. **ViewProfile()** - პროფილის ნახვა 5. **AddBalance()** - ბალანსის შევსება #### პროდუქტების ფუნქციები: 6. **ViewAllProducts()** - ყველა პროდუქტის ნახვა 7. **SearchProducts()** - პროდუქტის ძიება (სახელით/კატეგორიით) 8. **FilterByCategory()** - კატეგორიით ფილტრაცია 9. **ViewProductDetails()** - პროდუქტის დეტალები #### კალათის ფუნქციები: 10. **AddToCart()** - კალათაში დამატება 11. **RemoveFromCart()** - კალათიდან წაშლა 12. **ViewCart()** - კალათის ნახვა 13. **UpdateCartQuantity()** - რაოდენობის შეცვლა #### შეკვეთის ფუნქციები: 14. **Checkout()** - შეკვეთის გაფორმება 15. **ViewOrderHistory()** - შეკვეთების ისტორია 16. **CancelOrder()** - შეკვეთის გაუქმება #### ადმინის ფუნქციები (დამატებით): 17. **AddProduct()** - პროდუქტის დამატება 18. **UpdateProduct()** - პროდუქტის რედაქტირება 19. **DeleteProduct()** - პროდუქტის წაშლა 20. **ViewAllOrders()** - ყველა შეკვეთის ნახვა ### 📁 პროექტის სტრუქტურა ``` ShoppingCartSystem/ │ ├── Data/ │ ├── Users.json │ ├── Products.json │ ├── Orders.json │ └── Cart.json │ ├── Models/ │ ├── User.cs │ ├── Product.cs │ ├── Order.cs │ ├── OrderItem.cs │ └── CartItem.cs │ ├── Services/ │ ├── UserService.cs │ ├── ProductService.cs │ ├── OrderService.cs │ ├── CartService.cs │ └── AuthService.cs │ ├── Utils/ │ ├── JsonHelper.cs │ ├── ValidationHelper.cs │ └── ConsoleHelper.cs │ ├── Menus/ │ ├── MainMenu.cs │ ├── UserMenu.cs │ ├── AdminMenu.cs │ └── ProductMenu.cs │ └── Program.cs ``` ### 🎨 მენიუს სტრუქტურა ``` ═══════════════════════════════════════ 🛒 SHOPPING CART SYSTEM ═══════════════════════════════════════ 1. 👤 Login 2. 📝 Register 3. 🚪 Exit ═══════════════════════════════════════ Choose option: _ [After Login - Customer Menu] ═══════════════════════════════════════ Welcome, John! 💰 Balance: 500.00₾ ═══════════════════════════════════════ 1. 🛍️ View Products 2. 🔍 Search Products 3. 🛒 View Cart 4. 📦 My Orders 5. 💰 Add Balance 6. 👤 My Profile 7. 🚪 Logout ═══════════════════════════════════════ Choose option: _ [Admin Menu] ═══════════════════════════════════════ 👨‍💼 ADMIN PANEL ═══════════════════════════════════════ 1. ➕ Add Product 2. ✏️ Edit Product 3. ❌ Delete Product 4. 📊 View All Orders 5. 👥 Manage Users 6. 📈 Statistics 7. 🚪 Logout ═══════════════════════════════════════ ``` --- ## 📚 პროექტი #2: Library Management System ### 📊 მონაცემთა მოდელები #### 1. Users.json ```json { "Users": [ { "UserId": 1, "Username": "librarian01", "Role": "Librarian", "Email": "lib@library.ge", "PhoneNumber": "555123456" } ] } ``` #### 2. Books.json ```json { "Books": [ { "BookId": 1, "ISBN": "978-0-123456-78-9", "Title": "ვეფხისტყაოსანი", "Author": "შოთა რუსთაველი", "Category": "ქართული ლიტერატურა", "PublicationYear": 1200, "TotalCopies": 5, "AvailableCopies": 3, "ShelfLocation": "A-12" } ] } ``` #### 3. Borrowings.json ```json { "Borrowings": [ { "BorrowingId": 1, "UserId": 2, "BookId": 1, "BorrowDate": "2025-09-15", "DueDate": "2025-10-15", "ReturnDate": null, "Status": "Active", "Fine": 0 } ] } ``` ### 🎯 ფუნქციები (12 ფუნქცია) 1. **Register()** - მკითხველის რეგისტრაცია 2. **Login()** - ავტორიზაცია 3. **SearchBooks()** - წიგნების ძიება (სახელი/ავტორი/ISBN) 4. **ViewAvailableBooks()** - ხელმისაწვდომი წიგნები 5. **BorrowBook()** - წიგნის აღება 6. **ReturnBook()** - წიგნის დაბრუნება 7. **ViewMyBorrowings()** - ჩემი წიგნები 8. **AddBook()** - წიგნის დამატება (Librarian) 9. **RemoveBook()** - წიგნის წაშლა 10. **CheckOverdueBooks()** - დაგვიანებული წიგნები 11. **CalculateFine()** - ჯარიმის გამოთვლა 12. **GenerateReport()** - რეპორტი --- ## 🏨 პროექტი #3: Hotel Booking System ### 📊 მონაცემთა მოდელები #### 1. Rooms.json ```json { "Rooms": [ { "RoomId": 101, "RoomNumber": "101", "Type": "Single", "PricePerNight": 80.00, "Capacity": 1, "Floor": 1, "Amenities": ["WiFi", "TV", "AC"], "IsAvailable": true } ] } ``` #### 2. Reservations.json ```json { "Reservations": [ { "ReservationId": 1, "UserId": 1, "RoomId": 101, "CheckInDate": "2025-10-01", "CheckOutDate": "2025-10-05", "TotalPrice": 320.00, "Status": "Confirmed", "BookingDate": "2025-09-29" } ] } ``` ### 🎯 ფუნქციები (11 ფუნქცია) 1. **Register()** - რეგისტრაცია 2. **Login()** - ავტორიზაცია 3. **SearchRooms()** - ოთახების ძიება (თარიღით/ტიპით) 4. **ViewAvailableRooms()** - ხელმისაწვდომი ოთახები 5. **BookRoom()** - ოთახის დაჯავშნა 6. **ViewMyReservations()** - ჩემი დაჯავშნები 7. **CancelReservation()** - დაჯავშნის გაუქმება 8. **MakePayment()** - გადახდა 9. **AddRoom()** - ოთახის დამატება (Manager) 10. **UpdateRoomPrice()** - ფასის შეცვლა 11. **ViewAllReservations()** - ყველა დაჯავშნა --- ## 🎬 პროექტი #4: Movie Ticket Booking System ### 📊 მონაცემთა მოდელები #### 1. Movies.json ```json { "Movies": [ { "MovieId": 1, "Title": "Inception", "Genre": "Sci-Fi", "Duration": 148, "Rating": "PG-13", "Director": "Christopher Nolan", "ReleaseYear": 2010, "Poster": "inception.jpg" } ] } ``` #### 2. Showtimes.json ```json { "Showtimes": [ { "ShowtimeId": 1, "MovieId": 1, "DateTime": "2025-09-30T18:00:00", "Hall": "Hall 1", "TotalSeats": 100, "AvailableSeats": 85, "Price": 15.00 } ] } ``` #### 3. Bookings.json ```json { "Bookings": [ { "BookingId": 1, "UserId": 1, "ShowtimeId": 1, "SeatNumbers": ["A1", "A2"], "TotalPrice": 30.00, "BookingDate": "2025-09-29", "Status": "Confirmed" } ] } ``` ### 🎯 ფუნქციები (12 ფუნქცია) 1. **Register()** - რეგისტრაცია 2. **Login()** - ავტორიზაცია 3. **ViewMovies()** - ფილმების ნახვა 4. **SearchMovies()** - ფილმის ძიება 5. **ViewShowtimes()** - სეანსების ნახვა 6. **SelectSeats()** - ადგილების არჩევა 7. **BookTickets()** - ბილეთის შეძენა 8. **ViewMyBookings()** - ჩემი ბილეთები 9. **CancelBooking()** - ბილეთის გაუქმება 10. **AddMovie()** - ფილმის დამატება (Admin) 11. **AddShowtime()** - სეანსის დამატება 12. **ViewStatistics()** - სტატისტიკა --- ## 🍕 პროექტი #5: Restaurant Order Management ### 📊 მონაცემთა მოდელები #### 1. Menu.json ```json { "MenuItems": [ { "ItemId": 1, "Name": "Margherita Pizza", "Category": "Main Course", "Price": 25.00, "Ingredients": ["Dough", "Tomato", "Cheese", "Basil"], "IsAvailable": true, "PreparationTime": 20 } ] } ``` #### 2. Orders.json ```json { "Orders": [ { "OrderId": 1, "UserId": 1, "TableNumber": 5, "Items": [ { "ItemId": 1, "Quantity": 2, "Price": 25.00 } ], "TotalPrice": 50.00, "OrderDate": "2025-09-29T19:30:00", "Status": "Preparing" } ] } ``` #### 3. Tables.json ```json { "Tables": [ { "TableId": 1, "TableNumber": 5, "Capacity": 4, "IsOccupied": true, "Location": "Indoor" } ] } ``` ### 🎯 ფუნქციები (11 ფუნქცია) 1. **Register()** - რეგისტრაცია 2. **Login()** - ავტორიზაცია 3. **ViewMenu()** - მენიუს ნახვა 4. **FilterByCategory()** - კატეგორიით ფილტრაცია 5. **AddToOrder()** - კერძის დამატება 6. **PlaceOrder()** - შეკვეთის გაფორმება 7. **ViewMyOrders()** - ჩემი შეკვეთები 8. **ReserveTable()** - მაგიდის დაჯავშნა 9. **AddMenuItem()** - კერძის დამატება (Manager) 10. **UpdateOrderStatus()** - სტატუსის შეცვლა 11. **MakePayment()** - გადახდა