/VismaACLabs

Hands on lab application for a course for students

Primary LanguageC#MIT LicenseMIT

Visma AC Labs - Cloud Storage

build status

This is the technical material for a course for students in Timisoara, Romania. The course is part of a students' organization project called LigaAC LABS.

The purpose of this application is to make an introduction into ASP.NET Core, Microsoft Azure Blob Storage, SignalR, unit testing and the basic usage of version control system (git).

Additional references and resources can be found here.

Also, if it helps, the course outline can be found here.

Below you can read about some specifications and technical details and requirements.

Functional requirements

As a registered user I can

  • register an account on the application and associate it with an existing company
  • see a list of files uploaded by users in my company
  • download any file from the above list
  • edit the metadata of any file from above
  • edit the contents of any file from above (re-upload)
  • delete a file from the above list
  • upload a new file along with metadata
  • be notified in real time when someone from my company uploads a new file
  • search for files

As an admin I can

  • see a list of all available companies
  • create a new company
  • edit an existing company
  • see all uploaded files
  • edit any file or metadata
  • delete any file
  • upload a file

Other requirements

As a developer I will

  • use azure storage
  • use sql local db
  • use SignalR
  • write some unit tests
  • use logging

As a respectable trainer and developer I must

  • Ultra-mega-super-bonus: Implement Continuous Integration pipeline (see status badge above)
  • Test and migrate 2015 project to 2017
  • extract constants
  • seed users, roles, claims
  • remove unused usings
  • refactor code where needed // more or less
  • maybe make sure all of the UI looks decent

Technical details

Prerequisites

Workloads part 1 Workloads part 2

FYI: Known issues with .NET Core in Visual Studio 2017

More FYI: just for the fun of it, see below how many SEPARATE things you had to install if we would have continued with VS2015 :)

Setup

  • open solution in VS
  • CTRL + Q and search for Package Manager Console
  • once opened select the Data project as the default project (second dropdown)
  • run the following command:
Update-Database
  • expand the src > CloudStorage > Dependencies nodes, right click on the Bower folder and click on Restore Packages
  • or as an alternative for the above step, open up the CloudStorage project folder in Command Prompt (make sure the bower.json file is in that folder) and type in the following command: bower install
  • make sure to start the Microsoft Azure Storage Emulator before running the application (use windows search to find it)
  • that's it, just make sure the CloudStorage project is selected as the default one, hit F5 and enjoy! (VS should restore all missing packages automatically)

Note: this will NOT be deployable to Linux because of it's dependency to WindowsAzure.Storage nuget package