Open skgithubtest[bot] opened 1 month ago
# ToDo Application
## Overview
The ToDo Application is a robust task management solution designed for users within an organizational environment, leveraging Azure Active Directory (Azure AD) for secure access and management. The application facilitates the creation, tracking, and completion of tasks while ensuring compliance with enterprise security standards.
## Main Features
### Single Sign-On (SSO)
- **Integrated Access**: Users can access the application using their Azure AD work or school accounts, eliminating the need for multiple passwords.
- **SAML-Based Identity Provider**: The application utilizes Azure AD as a SAML identity provider to authenticate users.
### Conditional Access
- **Automated Access Control**: Administrators can configure access policies based on user groups, locations, and application sensitivity.
- **Security Compliance**: The application supports Azure AD Conditional Access to ensure users meet security and compliance standards before accessing resources.
### Task Management
- **Create & Manage Tasks**: Users can easily create, update, and delete tasks.
- **Task Prioritization**: Tasks can be prioritized to help users focus on critical items.
- **Due Dates & Notifications**: Users can set due dates and receive notifications for upcoming deadlines.
### Responsive Design
- **Cross-Device Compatibility**: Users can access the application from any device, including desktops, tablets, and smartphones.
### Security Measures
- **Legacy Authentication Protocols Blocking**: The application is configured to block outdated authentication methods to safeguard against vulnerabilities.
- **Continuous Security Assessment**: The code is scanned for vulnerabilities using Dynamic Application Security Testing (DAST) and Static Application Security Testing (SAST) techniques.
## Architecture
### Technology Stack
- **Backend**: Developed in C#, ensuring a robust and maintainable codebase.
- **Frontend**: Utilizes modern web technologies for a responsive user interface.
- **Database**: Stores user tasks and metadata securely.
### Code Organization
- **Controllers**: Handle incoming requests and manage user interactions with the task data.
- **Models**: Define the structure of task-related data.
- **Views**: Render the user interface and display tasks to users.
- **Services**: Encapsulate business logic, including task management and authentication.
### Security Practices
- **Credential Scanning**: Integrated tools like GitHub Advanced Security and OWASP tools are used to identify and mitigate credential exposure in the source code.
- **Dependency Management**: Continuous integration processes include scanning third-party libraries for vulnerabilities.
## Running the Application
### Prerequisites
- .NET SDK installed on your machine.
- Access to an Azure AD tenant for configuration.
### Setup Instructions
1. Clone the repository:
```bash
git clone https://your-repo-url.git
cd your-repo-folder
dotnet restore
dotnet run
Open a web browser and navigate to http://localhost:5000
to access the ToDo Application.
The ToDo Application provides a comprehensive solution for task management in a secure, enterprise environment. By leveraging Azure AD for authentication and employing best practices in security, the application ensures users can focus on their tasks without compromising on safety.
Create a ToDo Application using the STUDENT App Catalog group in C#