Skip to content

marekott/BandCams

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BandCams

  • WebUI Build: Build Status
  • WebUI Release: Release Status
  • Data Access Layer Build: Build Status
  • Data Access Layer Release: Release Status
  • Scheduler Build: Build Status
  • Scheduler Release: Release Status

Table of Contents

  1. Overview
    1.1 System Context
    1.2 Containers
    1.2 BandCamsWebUI Components
    1.2 BandCamsDAL Components
    1.2 BandCamsScheduler Components
  2. Infrastructure
  3. Running locally
  4. FAQ

Overview

The idea of this project came upon at the beginning of the pandemic from bands that were not able to perform concerts with the audience. They wanted to create a place where all online events that started to become popular could be grouped and watched. The BandCams website was planned as a place connecting streams from various websites (eg. YouTube or Facebook) and stores information about online concerts. Because of that, it allows to watch concerts via external services and not to stream directly through its infrastructure.

The project stopped at the development environment and was suspended. Because of that, code is now public on GitHub. There are minor changes comparing to the original version but they are mainly focused on making running project locally easier.

If you wish to examinate project on development environment please contact me on LinkedIn (www.linkedin.com/in/marek-ott-171608152) beacuse it is protected via Azure AD. After granting access follow below links:

Website:
https://bandcams-d.azurewebsites.net/
Data Acces Layer Swagger:
https://bandcamsdal-d.azurewebsites.net/

System Context

System Context

Containers

Container diagram.

BandCamsWebUI Components

Component diagram for BandCamsWebUI

BandCamsDAL Components

Component diagram for BandCamsDAL

BandCamsScheduler Components

Component diagram for BandCamsScheduler

Infrastructure

Deployment diagram current

Running locally

  1. Install MS localdb (https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/sql-server-express-localdb?view=sql-server-ver15). You can skip this part if you have Microsoft SQL Server on your locall machine.
  2. Build database project.
  3. Deploy database project.
  4. In \test\RestAPI.IntegrationTests\appsettings.IntegrationTests.json, \src\RestAPI\appsettings.Development.json and \src\WebUI\appsettings.Development.json change value of "BandCamsDB" to connection string of created in previous step database.
  5. In root directory open CMD and run:
dotnet build
  1. After a successful build in the same directory run:
dotnet test
  1. If all tests are passing (one should be skipped). You are ready to run the application. Go to \src\RestAPI and run in CMD:
dotnet run
  1. Got to \src\WebUI and again run:
dotnet run
  1. You can now examine the main website on https://localhost:44312 and Data Access Layer Swagger on https://localhost:5001.

FAQ

  1. Some tests are crushing. What is the problem?
    Check if all files mentioned in the fourth step of Running locally have valid connection strings.
  2. Can I run BandCamsScheduler?
    Yes, it can be run locally but requires Azure Queue and SendGrid account. For more information contact me via LinkedIn.