sitestudio / otest

Test SKGithubTest app
MIT License
0 stars 0 forks source link

PM.Readme chain for #241 #242

Open skgithubtest[bot] opened 16 hours ago

skgithubtest[bot] commented 16 hours ago

Create a ToDo Application using the STUDENT App Catalog group in C#

skgithubtest[bot] commented 16 hours ago
# ToDo Application

## Overview
The ToDo Application is a C#-based solution designed for managing tasks efficiently while leveraging Azure Active Directory (Azure AD) for secure user authentication and access control. It facilitates Single Sign-On (SSO) capabilities, ensuring that users can seamlessly access the application with their work or school accounts.

## Features
- **Task Management**: Users can create, update, and delete tasks. Each task can include details such as due dates, priorities, and status.
- **User Authentication**: Utilizes Azure AD for secure user authentication. Users access the application without the need for multiple usernames and passwords, enhancing security and user experience.
- **Single Sign-On (SSO)**: Allows users to authenticate using their Azure AD accounts, applicable not just for Microsoft services but also for third-party applications like Google Apps and Salesforce.
- **Conditional Access**: Implements Azure AD Conditional Access policies to control application access based on user location, group membership, and application sensitivity.
- **Role-Based Access Control**: Access can be granted or revoked based on organizational roles, enhancing security management.
- **Password Security**: Reduces the risk of password reuse and weak passwords by enforcing Azure AD policies against legacy authentication protocols.

## Architecture
The ToDo Application employs a structured architecture that prioritizes security and maintainability:

- **Client-Side**: The front-end is built using a modern framework, allowing for responsive and intuitive user interfaces. It communicates with the server through RESTful APIs.

- **Server-Side**: The back-end is developed in C# using ASP.NET Core, providing a robust environment for handling API requests, user authentication, and database interactions.

- **Database**: A secure database is used to store user data and task information, ensuring data integrity and protection against unauthorized access.

- **Security Practices**:
  - **Dynamic Application Security Testing (DAST)**: The application is tested while in use to ensure that it meets security standards.
  - **Static Application Security Testing (SAST)**: Source code is scanned for vulnerabilities based on its design and implementation.
  - **Continuous Integration Security**: Integrates tools like GitHub Advanced Security and OWASP for scanning code and dependencies during the build process.

## Running the Application
To run the ToDo Application, follow these steps:

1. **Clone the Repository**:
   ```bash
   git clone <repository-url>
   cd <repository-directory>
  1. Restore Dependencies:

    dotnet restore
  2. Run the Application:

    dotnet run
  3. Access the Application: Open a web browser and navigate to http://localhost:5000 (or the specified port).

Best Practices

Conclusion

The ToDo Application is a secure and efficient tool for task management, designed with a focus on user experience and security compliance. By integrating Azure AD for authentication and implementing best security practices, it provides a reliable solution for organizations looking to enhance productivity while safeguarding their resources.