📌 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)