Skip to content

About

Full-stack art supply marketplace with Angular frontend, ASP.NET Core backend, JWT auth, admin dashboard, SignalR, and EF Core

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

🎨 Art Supply Store — Full-Stack Group Project

A polished marketplace experience built with Angular on the client and ASP.NET Core on the server. This project is designed for production-style workflows, secure authentication, and strong role-based operations.


🚀 What this project delivers

  • Responsive Angular frontend for browsing art supplies, placing orders, submitting feedback, and managing profiles.
  • Robust ASP.NET Core backend with JWT authentication, ASP.NET Identity, role-based authorization, email verification, and password reset.
  • SQL Server persistence using Entity Framework Core.
  • Admin operations for inventory, orders, and feedback moderation.
  • Production-ready concerns like rate limiting, CORS, logging, and API documentation.

✨ Core capabilities

Area Feature
Authentication Login, registration, email verification, JWT-based auth
Authorization Role-based guards for User and Admin
Catalog Browse art supplies, search, and place orders
Orders Create orders, view history, admin order management
Feedback Submit feedback, admin review and moderation
Security Rate limiting, token validation, strong password rules
API Swagger documentation, REST controllers
Real-time SignalR hub for tracking and notifications

🧠 Architecture summary

  • angularapp/ — frontend application built with Angular and client-side routing.
  • dotnetapp/ — backend API, identity handling, database access, email service, and SignalR.
  • dotnetapp/Controllers — REST endpoints for auth, art supplies, orders, feedback, and users.
  • dotnetapp/Services — business logic and data orchestration.
  • dotnetapp/Data/ApplicationDbContext.cs — EF Core context for SQL Server.

⚙️ Backend setup

  1. Navigate to the backend folder:
    cd dotnetapp
  2. Validate or override configuration values in appsettings.json:
    • ConnectionStrings:DefaultConnection
    • FrontendUrl
    • Jwt:Key, Jwt:Issuer, Jwt:Audience
    • Email SMTP configuration for verification and notifications
  3. Restore dependencies and run the API:
    dotnet restore
    dotnet run
  4. Open Swagger for API exploration:
    https://localhost:5001/swagger
    

Tip: For local Angular development, set FrontendUrl to http://localhost:4200.


🧩 Frontend setup

  1. Change into the frontend folder:
    cd angularapp
  2. Install dependencies:
    npm install
  3. Start the Angular app:
    ng serve --open
  4. The application will run at:
    http://localhost:4200
    

If package.json is missing, restore or recreate the Angular project manifest before installing dependencies.


▶️ Running locally

  1. Launch the backend.
  2. Launch the frontend.
  3. Visit the frontend URL and authenticate.
  4. Use the app as either:
    • User: browse supplies, place orders, submit feedback
    • Admin: manage inventory and review orders/feedback

🔍 Important routes

  • /login
  • /register
  • /verify-email
  • /forgot-password
  • /art-supplies
  • /place-order/:id
  • /my-orders
  • /add-feedback
  • /manage-art-supplies
  • /admin-orders
  • /admin-feedback

🧪 Developer notes

  • The Angular app uses route guards for access control and an HTTP interceptor for JWT token injection.
  • The backend enforces strict password policy and email confirmation via Identity.
  • SignalR is configured at /artstore-tracking for real-time tracking.
  • Swagger is enabled in development to simplify API validation.
  • Rate limiting is configured using AspNetCoreRateLimit to protect endpoints.

📁 Project structure

/angularapp      # Angular UI
/dotnetapp       # ASP.NET Core API

📌 Notes

  • This repository is intended as an academic demo or team showcase.
  • Keep secrets and SMTP credentials out of source control when moving to production.
  • Update environment values before running locally.

📝 License

For educational and demonstration purposes.

About

Full-stack art supply marketplace with Angular frontend, ASP.NET Core backend, JWT auth, admin dashboard, SignalR, and EF Core

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages