The following application is a system that allows users to post small notes on their boards. For this exercise, added and removed data needs to only last as long as the web host is online.
The total set of deliverables as outlined would likely take 3 or 4 hours. Only spend one hour on the assessment and get done what you can. You will not be judged on the amount of code completed, only on the quality of the code turned in. A project that doesn't compile or that fails any unit tests will not be accepted.
There is an initial "seed" of data that is stored in a json
file.
You can use this file to be your data store or you can store everything in-memory for the purposes of this assignment.
The file is deleted and restored at each run of the application.
This should run without anything other than Visual Studio or IIS.
- Fork this repository on Github
- Clone your copy of the repository
> git clone https://github.com/<username>/alogent-assessment.git
- Install NPM modules
> cd Src/Assessment.Client/ClientApp
> npm install
- Contain a name
- Contain the date is was created
- Contain any number of post-it notes
- Contain a title
- Contain some note information (URL, text, etc.)
- Contain the date it was created
- Add a collection of "post-its" to the
Board
class - Add the features outlined in the Features section below
- These features should be developed in the order outlined below
- Add (or update) the Web API controller(s) and include the minimal UI required to facilitate use of the API
- The expected API URL path and HTTP method are specified with the features below
- Unit tests for all server-side code added/modified
- Code coverage target -
90%
- For all logic areas added
- The current code in the repository is not considered in determining the coverage. Only code and tests you add will be reviewed.
- Code coverage target -
The following features need to be added to the application to make it useful for users.
- Create a new board -
POST /boards
- Delete an existing board -
DELETE /boards/[board-id]
- Add a pin to a board -
POST /boards/[board-id]/post-its/
- View pins attached to a board -
GET /boards/[board-id]/post-its/
- Delete a pin -
DELETE /boards/[board-id]/post-its/[post-it-id]
- Delete a board and all pins -
DELETE /boards/[board-id]
Complete what you can in the time frame allotted for the assessment - 1 Hour. You will not be judged on the amount of code completed, only on its quality and ability to meet the requirements outlined.
- Git
- C#
- ASP.NET Core Web API
- Angular 5
- Bootstrap
- NUnit
- Moq
- PowerShell
- VS Code or Visual Studio
- User authenticiation/authorization
- Permanent data storage
- Design of front-end
- use the existing layout/design
- if you have extra time and want to spend it changing the design, you are more than welcome