Skip to content

Complete E-Commerce application to rent products (toys) as well as manage the logistics of delivering and picking up the products (toys). Multi-tenanted.

License

Notifications You must be signed in to change notification settings

QuinntyneBrown/KidsToyHive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KidsToyHive

Complete E-Commerce application to rent products (toys) as well as manage the logistics of delivering and picking up the products (toys). Multi-tenanted.

Project Structure

This is a monorepo containing:

  • Angular Frontend (src/KidsToyHive..App/projects/kids-toy-hive) - Customer-facing web application
  • .NET Backend (src/KidsToyHive.Api) - RESTful API
  • Core Domain (src/KidsToyHive.Core) - Business logic and domain models
  • Infrastructure (src/KidsToyHive.Infrastructure) - Data access and external services
  • Domain (src/KidsToyHive.Domain) - Domain entities

Frontend Application

Technology Stack

  • Angular (Standalone Components)
  • Angular Material
  • TypeScript
  • SCSS
  • RxJS

Getting Started

  1. Navigate to the Angular app directory:

    cd src/KidsToyHive..App
  2. Install dependencies:

    npm install
  3. Start the development server:

    ng serve kids-toy-hive
  4. Open your browser to http://localhost:4200

Build for Production

ng build kids-toy-hive --configuration=production

Key Features

  • Product browsing and rental
  • Customer registration and authentication
  • Booking management with date/time selection
  • Payment processing
  • Profile management
  • Responsive design for mobile and desktop

Backend API

Technology Stack

  • ASP.NET Core
  • Entity Framework Core
  • MediatR (CQRS pattern)
  • SQL Server

Running the API

  1. Navigate to the API directory:

    cd src/KidsToyHive.Api
  2. Update database connection string in appsettings.Development.json

  3. Run the API:

    dotnet run

Database Migrations

Reset database:

.\resetdb.ps1

Testing

  • Frontend tests use Jest
  • Backend tests use xUnit

Run frontend tests:

cd src/KidsToyHive..App
ng test kids-toy-hive

Run backend tests:

dotnet test

Architecture

The application follows Clean Architecture principles with clear separation of concerns:

  • Presentation Layer: Angular SPA
  • Application Layer: API Controllers, MediatR Handlers
  • Domain Layer: Business logic, entities, and domain services
  • Infrastructure Layer: Data persistence, external services

License

Licensed under the MIT License. See LICENSE file for details.

About

Complete E-Commerce application to rent products (toys) as well as manage the logistics of delivering and picking up the products (toys). Multi-tenanted.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •