Files
SkyArtShop/Sky_Art_shop/.github/copilot-instructions.md
Local Server 703ab57984 Fix admin route access and backend configuration
- Added /admin redirect to login page in nginx config
- Fixed backend server.js route ordering for proper admin handling
- Updated authentication middleware and routes
- Added user management routes
- Configured PostgreSQL integration
- Updated environment configuration
2025-12-13 22:34:11 -06:00

2.6 KiB

Copilot Instructions for Sky Art Shop

Project Overview

Dynamic e-commerce CMS built with ASP.NET Core MVC 8.0, MongoDB for content, and ASP.NET Core Identity for authentication.

Completed Tasks

  • ASP.NET Core MVC structure created
  • MongoDB integration (Products, Portfolio, Blog, Pages, Settings, MenuItems)
  • ASP.NET Core Identity + SQLite for authentication
  • Admin panel with CRUD for all content types
  • Public pages (Home, Shop, Portfolio, Blog, About, Contact)
  • CKEditor 5 rich text editor (no API key required)
  • Image upload service (wwwroot/uploads/images)
  • Dynamic navigation via ViewComponent
  • Seeding for default data (admin user, settings, categories, menus)
  • Clean build with zero errors
  • Application tested and running on http://localhost:5000
  • README documentation updated

Architecture

  • Backend: ASP.NET Core 8.0 MVC
  • Content DB: MongoDB (connection string in appsettings.json)
  • Auth DB: SQLite + EF Core + Identity
  • Admin Auth: Role-based (Admin role)
  • Views: Razor + Bootstrap 5 (admin) + custom CSS (public)

Key Files

  • Program.cs: Middleware, services, database initialization
  • Models/DatabaseModels.cs: MongoDB entity models
  • Services/MongoDBService.cs: Generic MongoDB CRUD service
  • Data/ApplicationDbContext.cs: EF Core Identity context
  • Controllers/Admin*.cs: Admin CRUD controllers ([Authorize(Roles="Admin")])
  • Controllers/*.cs: Public controllers (Shop, Portfolio, Blog, About, Contact)
  • Views/Shared/_Layout.cshtml: Public layout with dynamic navigation
  • Views/Shared/_AdminLayout.cshtml: Admin dashboard layout
  • ViewComponents/NavigationViewComponent.cs: Dynamic menu rendering

Running the Project

dotnet build    # Build solution
dotnet run      # Start on http://localhost:5000

Admin Access

Future Development Guidelines

  • Use MongoDBService for all MongoDB operations
  • Admin controllers must use [Authorize(Roles="Admin")]
  • Slug generation: lowercase, replace spaces with hyphens
  • TempData["SuccessMessage"] / TempData["ErrorMessage"] for user feedback
  • Image uploads go to wwwroot/uploads/images with GUID filenames
  • All views use Razor syntax; avoid direct HTML files

Optional Enhancements

  • Server-side validation (DataAnnotations)
  • Email service for contact form
  • Shopping cart/checkout
  • SEO meta tags
  • Centralized slug utility service