A comprehensive console-based Todo List application built with C# and Entity Framework Core.
-
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
- .NET 9.0 - Latest .NET framework
- Entity Framework Core 9.0.7 - ORM for database operations
- SQL Server - Database management system
- C# - Programming language
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
- Login - Access existing account
- Register - Create new user account
- Exit - Close application
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
- Update Profile - Modify user information
- Change Password - Update account password
- View Profile - Display current user details
Id(Primary Key)FName- First NameLName- Last NameEmail- Email AddressUserName- UsernamePassword- Encrypted PasswordPhone- Phone Number
Id(Primary Key)Title- Task TitleDescription- Task DescriptionIsCompleted- Completion StatusCreatedAt- Creation TimestampDeadline- Task DeadlineFinishedAt- Completion TimestampUserId(Foreign Key) - Associated User
The application uses Entity Framework Core with the following packages:
Microsoft.EntityFrameworkCore.SqlServer- SQL Server providerMicrosoft.EntityFrameworkCore.Design- Design-time toolsMicrosoft.EntityFrameworkCore.Tools- Migration toolsMicrosoft.Extensions.Configuration- Configuration management
- The application uses a console-based interface for simplicity
- All user sessions are managed through the
UserSessionclass - Database operations are handled through dedicated service classes
- String extensions provide utility methods for input validation