Side Project: Project Organizer
Adding a New Project
A create project request will call the .NET web API, populate the projects table with the new project, and update the SWR projects cache and backend in-memory caching systems.
Updating the New Project
Upon the update request, a similar cascade of events takes place, except that the SWR cache needs to take extra steps. These steps involve finding the old project in the cache, removing it, and pulling in the new project from the API.
Deletion of the Project
The deletion request is straightforward. It removes the requested project by ID from the table and caching systems.
Project Stack
Frontend
- React - Frontend Architecture
- React Router - HTTP Navigation
- SWR 2.0/Fetch - REST Client
- Tailwind CSS - UI
- MirageJS - Mock API
- Vite/Vitest - Testing Framework
- TypeScript - Transpiler/Type Checking
Backend
- .NET 7 - Backend Architecture
- Entity Framework 7+ - Code-First Database Management
- Swagger - API Visual Testing
Reasoning Behind this Project
The project organizer was a project I built to introduce myself to some of the latest technologies in the .NET and React ecosystems. This project allowed me to figure out which packages I enjoy using for testing, mocking and data mutation. I decided to pick React for the frontend because I find it the most enjoyable. It casues the least amount of resistance when building UI components. And the ecosystem of React is gigantic, providing many different tools for me to explore and find the best ones for my needs. As for the backend system and database, I find using .NET and Entity Framework to be a great combination. I absolutely despise managing migrations with EF, other than this gripe, it was very straightforward to build this project.