Skip to content

GabinMD/OWTTestFullStack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🚀 Boat Manager – OWT Test Project

.NET
React
License

This is a boat management application built for the OWT technical test.
It follows the Clean Architecture approach, inspired by Jason Taylor.

πŸ“Ί Reference video: Jason Taylor - Clean Architecture


πŸ› οΈ Tech Stack

Backend

  • βš™οΈ .NET 9 – Web API implementation
  • πŸ“Œ MediatR – CQRS pattern
  • βœ… FluentValidation – Request validation
  • πŸ”„ AutoMapper – Object mapping
  • 🚦 Ardalis.GuardClauses – Defensive programming
  • πŸ“ NSWAG – API documentation & client generation

Frontend

  • βš›οΈ React 19 – Modern frontend framework
  • πŸ”΅ TypeScript – Strongly typed JavaScript
  • 🎨 Tailwind CSS – Utility-first styling
  • πŸ” React Query – Data fetching & caching
  • 🌎 Zustand – State management

🏒 Architecture Overview

The project follows Clean Architecture, separating:

πŸ“‚ Domain – Core business logic
πŸ“‚ Application – CQRS, validation & use cases
πŸ“‚ Infrastructure – Database, authentication, external services
πŸ“‚ Presentation – Web API & React frontend

⚑ This architecture might be overkill for the task, but I had fun implementing it!
I finished the test in 3 days, but there's still room for improvement.


πŸš€ Features Implemented

βœ”οΈ User authentication (Login, Register, JWT, Refresh Token)
βœ”οΈ Boat CRUD (Create, Read, Update, Delete boats)
βœ”οΈ Pagination & Page Size Selection
βœ”οΈ Role-based authorization
βœ”οΈ NSwag-generated API client
βœ”οΈ Automatic token refresh
βœ”οΈ Global error handling
βœ”οΈ Clean & modern UI with Tailwind CSS
βœ”οΈ Unit Testing


πŸ“Œ How to Run the Project

Backend (.NET 9)

cd backend
dotnet run

Frontend (React 19)

cd frontend
npm install
npm run dev

πŸ› οΈ Future Improvements

πŸ’‘ Improve UI/UX animations
πŸ’‘ Implement Docker & CI/CD pipeline
πŸ’‘ Add search & filtering for boats

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages