OnCheck is a web-based task management app built with Blazor WebAssembly, designed to help individuals and teams efficiently organize and track their daily tasks. It allows users to create, edit, delete, view with different filters and keep their tasks OnCheck!
Watch the app in action in the video below:
OnCheckDemonstrationVideo.mp4
- Full CRUD functionality for tasks (Create, Read, Update, Delete)
- Task filters by difficulty (Easy, Medium, Hard) and status (Completed, Pending)
- Real-time user search and live filtering
- Personalized landing page and dynamic side menu
- Protected routes – only logged-in users can access main pages
- Accordion-style task detail display
- Built-in user registration and login system (With database-validated credentials)
- Blazor WebAssembly (.NET & C#)
- Bootstrap for responsive layout
- Custom CSS for a clean, modern design
- .NET Web API for handling data requests
- Entity Framework Core for database interactions
- Microsoft SQL Server for persistent data storage
OnCheck/
├── OnCheck.Client/ # Blazor WebAssembly frontend
├── OnCheck.API/ # .NET Web API backend
└── OnCheck.Shared/ # Shared models between Client and API
Note
Each part is structured for separation of concerns and scalability. The Shared project ensures consistent data structures across the full stack.
Warning
The version 9.0 of .NET SDK presented problems during development. It is recommended to use 8.0 for this project to ensure it works properly.
- Clone the repository
git clone https://github.com/brunobpinto/oncheck-tasks.git
- Navigate to the solution folder
cd oncheck-tasks
-
Configure your connection string
OpenOnCheck.API/appsettings.json
and set the correct SQL Server connection string for your environment. -
Apply database migrations
cd OnCheck.API
dotnet ef database update
- Run the application
cd OnCheck.Client
dotnet run
cd OnCheck.API
dotnet run
Tip
If you're using VS Code, you can run both the API (Backend) aswell as the Client (Frontend) by opening a Integrated Terminal in each corresponding folder and running the apllication as show above.
- Basic registration and login functionality stores sessions locally on the client.
- This is implemented without encryption for simplicity and educational purposes.
- Tasks are stored in a SQL Server database.
- Users can add, edit, delete, and filter tasks via the Blazor UI.
- Each task can be expanded for more detail using an accordion component.
- Filters and real-time search make it easy to find tasks by difficulty, status, or user.
- The interface dynamically updates based on input, thanks to Blazor's reactivity.
- Bootstrap + custom CSS for responsive layout
- Clean sidebar navigation with icons and color-coded filters
- Minimalist interface for reduced visual strain
I’d like to express how I'm grateful for the opportunity to participate in the selective process for an internship at ICAD Lab – PUC-Rio. Being part of this experience allowed me to learn and grow significantly while developing this project. I'm thankful for the challenges.