Skip to content

lourosscs50/TaskTracker

Repository files navigation

📌 TaskTracker

A secure, full-stack ASP.NET Core MVC task management application built with C#, Entity Framework Core, and SQL Server, featuring authentication, user-scoped data isolation, and production-style architecture.

TaskTracker enables multiple users to securely register, log in, and manage personal tasks while ensuring strict separation of user data through ASP.NET Core Identity.

This project demonstrates real-world backend engineering concepts including authentication, relational database design, migrations, and clean MVC architecture.

🚀 Overview

TaskTracker was designed to simulate a production-ready multi-user application, focusing on backend fundamentals used in modern enterprise systems.

Key engineering goals: • Secure authentication & authorization • User-isolated data access • Maintainable MVC architecture • Relational database modeling • Scalable backend structure

✨ Features • ✅ User Registration & Login (ASP.NET Core Identity) • ✅ Secure user-specific task ownership • ✅ Create, Read, Update, Delete (CRUD) operations • ✅ Priority levels (enum-based selection) • ✅ Task completion tracking • ✅ Due date scheduling • ✅ Entity Framework Core migrations • ✅ SQL Server relational database • ✅ Anti-forgery validation • ✅ Clean MVC pattern implementation

🧱 Tech Stack

Backend • ASP.NET Core MVC • C# • Entity Framework Core • ASP.NET Core Identity

Database • SQL Server • EF Core Migrations • Relational Modeling

Frontend • Razor Views • Bootstrap

Security • Identity Authentication • User-scoped authorization • Anti-forgery tokens • HTTPS enforcement

🏗️ Architecture

TaskTracker follows a clean MVC structure: Controllers → Services/Logic → Entity Framework Core → SQL Server

Design Principles • Separation of concerns • Secure data ownership per user • Maintainable and scalable code structure • Production-style authentication flow

🗄️ Database Design

Authentication Tables

Managed automatically via ASP.NET Core Identity • AspNetUsers • AspNetRoles • Identity relationship tables

TaskItems Table Column Description Id Primary Key Title Task title Description Task details DueDate Optional deadline Priority Enum value IsCompleted Completion status CreatedAt Timestamp UserId Foreign Key → AspNetUsers

Each task is securely scoped to its authenticated user.

🔐 Authentication & Security • ASP.NET Core Identity authentication • User-scoped data filtering • Anti-forgery token validation • HTTPS enforcement • Entity Framework relational constraints • Protected CRUD operations

⚙️ Getting Started (Run Locally) 1️⃣ Clone Repository git clone https://github.com/lourosscs50/TaskTracker.git cd TaskTracker

2️⃣ Configure Database Update appsettings.json connection string: "ConnectionStrings": { "DefaultConnection": "Server=(localdb)\mssqllocaldb;Database=TaskTrackerDb;Trusted_Connection=True;" }

3️⃣ Apply Migrations dotnet ef database update

4️⃣ Run Application dotnet run Open browser: https://localhost:5001

🧪 Example Workflow 1. Register a new user account 2. Log in securely 3. Create tasks 4. Assign priority & due dates 5. Mark tasks completed 6. Data remains isolated per user

🎯 Purpose

This project was built to demonstrate full-stack backend development skills using modern .NET technologies, emphasizing: • Authentication systems • Secure multi-user applications • Database design • Backend architecture patterns • Production-ready coding practices

📈 Skills Demonstrated • ASP.NET Core MVC development • Authentication & authorization • Entity Framework Core ORM • SQL relational modeling • CRUD API logic • Secure web application design • MVC architecture implementation

👨‍💻 Author

Lou Carron Full-Stack Developer | .NET | SQL | Backend Systems • GitHub: https://github.com/lourosscs50 • LinkedIn: (https://www.linkedin.com/in/lou-carron-2b2652123?trk=contact-info)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors