http://projectamandafe.azurewebsites.net/
The web application consists of a frontend written in Razor views, HTML, CSS, Bootstrap, Popper, and jQuery. The backend was written in C# using ASP.NET Core 2, Entity Framework Core, and the MVC framework.
An interface is provided to create new blog posts, view existing blog posts, edit existing blog posts, delete existing blog posts, and search by both keywords and usernames. All blog posts can be enriched using Azure Language Services (part of Microsoft's Cognitive Services suite), Bing Image API, and Parallel Dots (for automated tagging of posts via key phrases detected within the post's body). Image enrichments can be added based on the overall sentiment score (a range 0.0 - 1.0 related to the mood of the post) and key phrases / keywords detected in the posts. Optionally, users can choose to opt-out of these features for privacy or data collection concerns.
Microsoft Visual Studio Community 2017 (Version 15.5.7)
- C#
- ASP.Net Core
- Entity Framework
- MVC
- xUnit
- Bootstrap
- Azure
- Parallel Dots API
- HTML5 / CSS3
- Razor views
Clone this repository to your local machine.
$ git clone https://github.com/ProjectAMANDA/AmandaFE.git
Once downloaded, you can either use the dotnet CLI utilities or Visual Studio 2017 (or greater) to build the web application. The solution file is located in the AmandaFE subdirectory at the root of the repository.
cd AmandaFE/AmandaFE
dotnet build
The dotnet tools will automatically restore any NuGet dependencies. Before running the application, the provided code-first migration will need to be applied to the SQL server of your choice configured in the /AmandaFE/AmandaFE/appsettings.json file. This requires the Microsoft.EntityFrameworkCore.Tools NuGet package and can be run from the NuGet Package Manager Console:
Update-Database
Once the database has been created, the application can be run. Options for running and debugging the application using IIS Express or Kestrel are provided within Visual Studio. From the command line, the following will start an instance of the Kestrel server to host the application:
cd AmandaFE/AmandaFE
dotnet run
Unit testing is included in the AmandaFE/FrontendTesting project using the xUnit test framework. Tests have been provided for models, view models, controllers, and utility classes for the application.
Parameter | Type | Required |
---|---|---|
ID | int | YES |
Summary | string | YES |
Content | string | YES |
Tags | string(s) | NO |
Picture | img jpeg/png | NO |
Sentiment | float | NO |
Keywords | string(s) | NO |
Related Posts | links | NO |
Date | date/time object | YES |
Parameter | Type | Required |
---|---|---|
ID | int | YES |
Name/Author | string | YES |
Posts | list | YES |