Skip to content

Repository files navigation

Installation Instructions

Prerequisites

  • Docker
  • Amazon Web Services (AWS) account w S3 Bucket and IAM user with permissions to access the bucket with Cloudfront
  • SMTP provider
  • DeepL API Key (for translation features)

Installation

  1. Clone the repository
git clone git@gitlab.eeecs.qub.ac.uk:jackcooperdev/csc3002-lms.git
  1. Create a .env file in the root directory of the project and add the following environment variables:
# App Config Defaults
APP_NAME=LMS
ALLOWED_DOMAINS=@example.com // Allowed Email Domains for Registration
ADMIN_ACCOUNTS=admin@example.com // Comma Separated List of Admin Accounts
REQUIRE_VERIFICATION=yes // Require Email Verification for Registration (yes/no)
NODE_ENV=production // Set to production for production environment, development for development environment

# SMTP Info
SMTP_HOST=HOST_ADDRESS
SMTP_PORT=587
SMTP_USER=USERNAME
SMTP_PASS=PASSWORD
SMTP_FROM=no-reply@lms.local

# General
PUBLIC_BASE_URL=http://localhost:8080
PUBLIC_FRONTEND_URL=http://localhost:4200
JWT_ACCESS_SECRET=RANDOM_SECRET_KEY_FOR_ACCESS_TOKENS
JWT_COURSE_ACCESS_SECRET=RANDOM_SECRET_KEY_FOR_ACCESS_TOKENS
JWT_REFRESH_SECRET=RANDOM_SECRET_KEY_FOR_ACCESS_TOKENS
SERVICE_JWT_SECRET=RANDOM_SECRET_KEY_FOR_ACCESS_TOKENS
DEEPL_API_KEY=DEEPL_API_KEY

# AWS Info
AWS_ACCESS_KEY=ACCESS_KEY_ID
AWS_ACCESS_SECRET=BASE64_ENCODED_PRIVATE_KEY
AWSS3_PRIVATE_KEY=PRIIVATE_KEY
AWS_REGION=eu-north-1
S3_BUCKET=S3_BUCKET_NAME
CLOUDFRONT_DOMAIN=CLOUDFRONT_DOMAIN_NAME
CLOUDFRONT_KEY_PAIR_ID=CLOUDFRONT_KEY_PAIR_ID

fill in the values for the environment variables as per your setup.

  1. Build and run the application using Docker Compose
docker compose -f docker/docker-compose.yml up --build   

Getting Started

  1. Access the application at http://localhost:4200
  2. Register a new account using an email address that matches the allowed domains specified in the .env file and is marked as a ADMIN_ACCOUNT.
  3. Check your email for a verification link and click on it to verify your identity

Adding Instructors and Changing System Settings

To add instructors to the LMS, you can follow these steps:

  1. Log in to the LMS with an admin account.
  2. Navigate to the "Admin" section of the dashboard. (Click your user icon and press admin)
  3. Scroll to students and find the user you want to promote to instructor.
  4. Click the "Promote to Instructor" button next to the user's name.
  5. The user will now have instructor privileges and can create and manage courses.
  6. The opposite can be done to demote an instructor back to a student by clicking the "Demote to Student" button next to their name in the admin panel.
  7. Other settings such as allowed email domains and the requiring of email verification can also be managed in the admin panel.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages