UTD is a secure, role-based news aggregator web application built with ASP.NET Core MVC. It allows users to stay updated with the latest news while supporting Authors, Readers, and Contributors with distinct functionalities.
- Role-Based Access Control:
- Authors: Create, publish, and delete news articles.
- Readers: Browse, search, and read news; submit suggestions; upload/download articles.
- Contributors: Edit existing news articles.
- Security Measures: Protection against SQL injection, XSS, DoS attacks, and secure password hashing.
- MVC Architecture: Clean separation of concerns with Model-View-Controller design.
- Real-Time Updates: News feed dynamically reflects changes.
- Search Functionality: Keyword-based search for news articles.
- Backend: ASP.NET Core 8.0, C#, Entity Framework Core
- Frontend: Razor Pages, HTML/CSS, JavaScript
- Database: Microsoft SQL Server
- Testing: xUnit, Moq
- Security: ASP.NET Core Identity, HTTPS, Role-Based Authorization
- .NET SDK 8.0
- Visual Studio 2022+ (with ASP.NET workload) or VS Code
- SQL Server Express
- Git (optional)
-
Clone the Repository:
git clone https://code.umd.edu/sumi0309/ENPM680Fall2024Project-sumi0309.git
-
Restore Dependencies:
dotnet restore
-
Configure the Database:
- Update the connection string in
appsettings.json:"ConnectionStrings": { "DefaultConnection": "Server=YOUR_SERVER;Database=YOUR_DB;Trusted_Connection=True;" }
- Apply migrations:
dotnet ef database update
- Update the connection string in
-
Run the Application:
- Build the solution (
Ctrl+Shift+Bin Visual Studio). - Launch via IIS Express (
Ctrl+F5). The app will run athttps://localhost:44369.
- Build the solution (