A web project based on the Angular framework with WebApi on the server side
MIT License
A web project based on the Angular framework with WebApi on the server side. It implements simple logic for creating, storing and maintaining articles. Some features:
Administrators can review articles if they have taken them over as assignment along with approving the latter and thus making them available for other users reading.
They are also responsible for dealing with complaints (either about comments or a whole article).
Administrators can block other users or make them administrators (as well as return them back to being regular ones).
The application is dependent on .NET Framework (read more) along with SQL Server (read more).
There is an MSI-installer for the application lying in the folder WebArticleLibrary.Setup/bin/Release. Firstly, the installer lets opt for the names of the application site and its pool on IIS7. Further, components for the connection string should be set up, namely: an SQL Server name, a database name and preferences for logging in the database (user/password or the integrated security mode; in both cases, providing the database is not existent, the user's rights for the SQL Server should be set properly) (how to configure the connection string manually). The installer virtually repeats this process.
The first user registered in the application will be granted administrative rights.
Setting up IIS services is a necessity to start developing. In Windows Components there must be the ASP.NET option turned on and other standard options for IIS services. The IIS management console also ought to be included as it gives an opportunity to configure IIS sites by means of graphic interface.
The developer computer has to have an access to MS SQL Server installed to deploy the database (read more).
To build a new version of the installer WiX-project, one should take advantage of the next command in the project folder: msbuild /t:Build;CreateInstaller;DeleteTmpFiles Setup.build. Providing that the default configuration for building is "Release|Any CPU", the command prompt used for the process shouldn't be of the x64 version. Otherwise, there will be a necessity to add the respective platform configuration to the solution. Note, as long as there are new targets added in the Setup.build file and necessary to be included in the process, they have to be listed in the expression too.
After building another version of the installer, the respective MSI-file should come up in the folder WebArticleLibrary.Setup/bin/Release alongside a renewed file cab1.cab. Both of them ought to be stored together as they take part in the process of installing.
Should there any mistakes arise during the processes of installing or uninstalling, the next command might help out with logging such activities: msiexec /i "WebArticleLibrary.Setup.msi" /l*v "log.log"
web.config lying in the root catalogue of the main project serves as the general file for configuration. In the file section appSettings the next parameters can be set:
There is also one more imperative parameter in the same file, but in the section connectionStrings, where the connection string to the database should be added (or changed). There are already some default preferences (for instance, integrated security is turned on and therefore it implies the Windows integrated security to log in to SQL Server without writing down any passwords; read more about connection strings).
The api module is available through the base url address by adding the api postfix and a respective controller along with a method and its parameters. For instance, http://localhost/WebArticleLibrary/api/Article/GetArticleTitles. The external api methods (unnecessary parameters are marked with ?):
The project database is based upon SQL Server 2012; later versions of the product are also possible to make use of.
The database model is built with Entity Framework 6.1.3. When a database being created automatically, a user account under which the web application works has to have proper rights for the action on the respective SQL Server (the dbcreator role). For instance, if the application registered with the ApplicationPoolIdentity credentials, then such a user should be added to the logins of the SQLServer: for DefaultAppPool the name is IIS APPPOOL\DefaultAppPool.
There are 8 tables altogether: