Skip to content

adhamdr1/TodoApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Todo List Application

A comprehensive console-based Todo List application built with C# and Entity Framework Core.

📋 Features

  • User Management

    • User registration and authentication
    • User profile management
    • Secure login system
  • Task Management

    • Create new tasks with title, description, and deadline
    • Mark tasks as completed/incomplete
    • View all tasks with filtering options
    • Update existing tasks
    • Delete tasks
  • Database Integration

    • SQL Server database with Entity Framework Core
    • Automatic database migrations
    • Data persistence across sessions

🛠️ Technology Stack

  • .NET 9.0 - Latest .NET framework
  • Entity Framework Core 9.0.7 - ORM for database operations
  • SQL Server - Database management system
  • C# - Programming language

📁 Project Structure

Todoo_List/
├── Data/
│   ├── AppDbContext.cs              # Database context
│   └── Config/                      # Entity configurations
├── Entities/
│   ├── User.cs                      # User entity model
│   └── Mission.cs                   # Task entity model
├── Enum/                            # Application enums
├── Global/
│   └── UserSession.cs              # Session management
├── Helper/
│   ├── GUI.cs                      # User interface logic
│   ├── MissionService.cs           # Task business logic
│   ├── StringExtensions.cs         # String utility methods
│   └── UserService.cs              # User business logic
├── Migrations/                      # Database migrations
├── Program.cs                       # Application entry point
└── appsettings.json                # Database configuration

🎯 Usage

Main Menu Options

  1. Login - Access existing account
  2. Register - Create new user account
  3. Exit - Close application

Task Management

After logging in, you can:

  • Add Task - Create new tasks with title, description, and deadline
  • View Tasks - Display all tasks with completion status
  • Update Task - Modify existing task details
  • Delete Task - Remove tasks from the list
  • Mark Complete/Incomplete - Toggle task completion status

User Management

  • Update Profile - Modify user information
  • Change Password - Update account password
  • View Profile - Display current user details

🗄️ Database Schema

Users Table

  • Id (Primary Key)
  • FName - First Name
  • LName - Last Name
  • Email - Email Address
  • UserName - Username
  • Password - Encrypted Password
  • Phone - Phone Number

Missions Table

  • Id (Primary Key)
  • Title - Task Title
  • Description - Task Description
  • IsCompleted - Completion Status
  • CreatedAt - Creation Timestamp
  • Deadline - Task Deadline
  • FinishedAt - Completion Timestamp
  • UserId (Foreign Key) - Associated User

🔧 Configuration

The application uses Entity Framework Core with the following packages:

  • Microsoft.EntityFrameworkCore.SqlServer - SQL Server provider
  • Microsoft.EntityFrameworkCore.Design - Design-time tools
  • Microsoft.EntityFrameworkCore.Tools - Migration tools
  • Microsoft.Extensions.Configuration - Configuration management

📝 Development Notes

  • The application uses a console-based interface for simplicity
  • All user sessions are managed through the UserSession class
  • Database operations are handled through dedicated service classes
  • String extensions provide utility methods for input validation

About

Built Todo Application using by C# , SQL and Entity FrameWork

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages