Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

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

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages