Skip to content

Latest commit

 

History

History
65 lines (51 loc) · 2.46 KB

README.md

File metadata and controls

65 lines (51 loc) · 2.46 KB

Spout

A learning management system focused on instructor and student communications.

Features

  • Create classrooms and discussions catered towards your needs
  • Central hub for classroom participants to discuss and ask questions outside class hours
  • Encourages peer-to-peer discussion
  • Track classroom activity, create reminders and announcements
  • File upload support

Developer Guide

Make sure you have installed and configured docker in your local environment. After that, you will be able to run the commands below in the root directory of this repo.

git clone https://github.com/mrodrigues95/spout.git
nx run bootstrap
nx run dev:setup:localhost
nx run dev:setup:https
nx run dev:up

NOTE: You'll also need to setup .NET User Secrets and Certs below.

Application URLs can be accessed as shown below:

api: https://spout.dev/api/graphql
web: https://spout.dev

Configuring .NET Environment Variables

First, ensure you have the .NET 6.0 SDK installed.

.NET User Secrets

Open up a terminal and run the following commands:

cd apps/api/API
dotnet user-secrets init
dotnet user-secrets set "Kestrel:Certificates:Development:Password" "<enter_random_secret_here>"

It doesn't matter what you enter as the secret, just as long as you set them in your environment as shown above.

IMPORTANT: Take note of the secret you entered for Kestrel:Certificates:Development:Password, as you will need it when we set the dev certificates.

.NET HTTPS Dev Certificates

dotnet dev-certs https -ep $env:USERPROFILE\.aspnet\https\API.pfx -p <enter_kestrel_secret_used_above_here>
dotnet dev-certs https --trust

Update ASPNETCORE_Kestrel__Certificates__Default__Password in docker-compose.yml to use the secret you set above.

Once the certs have been set up, your local environment will be ready to go.

Structure

apps

  • api -> .NET GraphQL web api powered by Hot Chocolate
  • web -> NextJS web app built with React Relay

libs

  • shared -> A common shared set of utility functions and hooks
  • toolkit -> A Storybook component library containing primitives