Skip to content

En app som sköter generering av kurssida i Kurs- och programkatalogen. Sidan innehåller introducerande beskrivning, allmän information om kurs, kursplan och information om kurstillfällen.

License

Notifications You must be signed in to change notification settings

damianhakert/kursinfo-web

 
 

Repository files navigation

Welcome to kursinfo-web 👋

Version Prerequisite License: MIT

Introduction

The course information project (KIP) is an initiative at KTH that was launched in 2018 to improve the quality and availability of information about KTH:s courses. The background to the project is, among other things, that it was difficult for the student to find information about the courses and even more difficult to compare information about several courses. The reason for the problems is scattered course information in several places and that there is no uniformity or assigned places for the course information. The project takes measures to consolidate course information into two locations and to present the information in a manner that is uniform for KTH. The student should find the right information about the course, depending on their needs. The result of the project is a public course site where the correct course information is collected and presented uniformly. Also, a tool is developed for teachers to enter and publish course information. Eventually, this will lead to the student making better decisions based on their needs, and it will also reduce the burden on teachers and administration regarding questions and support for the student.

Overview

Kursinfo-web is a microservice with the public view of course information. It uses React, MobX, and is based on node-web.

API:s

Kursinfo-web fetches data from:

Related projects

Prerequisites

  • Node.js 14.0.0
  • Ansible Vault

Secrets for Development

Secrets during local development are stored in a .env file in the root of your project. This file should be in .gitignore.

Secrets (names, passwords, keys, and uri:s) for dev and prod are stored in the the course information project’s Azure key vault.

# If API_URI is omitted, "http://localhost:3001/api/kursinfo?defaultTimeout=10000" will be used
API_URI=https://api-r.referens.sys.kth.se/api/kursinfo?defaultTimeout=10000
# If API_KEY is omitted, default key 123489 will be used
API_KEY=[key]

# If KURSPLAN_API_URI is omitted, http://localhost:3001/api/kursplan?defaultTimeout=10000 will be used
KURSPLAN_API_URI=https://app-r.referens.sys.kth.se/api/kursinfo?defaultTimeout=10000
# If KURSPLAN_API_KEY is omitted, default key 5678 will be used
KURSPLAN_API_KEY=[key]

# If KURS_PM_DATA_API_URI is omitted, http://localhost:3001/api/kurs-pm-data?defaultTimeout=10000 will be used
KURS_PM_DATA_API_URI=https://api-r.referens.sys.kth.se/api/kurs-pm-data?defaultTimeout=10000
# If KURS_PM_DATA_API_KEY is omitted, default key 1234 will be used
KURS_PM_DATA_API_KEY=[key]

# If KOPPS_URI is omitted, https://api-r.referens.sys.kth.se/api/kopps/v2/?defaultTimeout=10000 will be used

UG_REDIS_URI=team-studam-ref-redis-193.redis.cache.windows.net:[port],password=[password],ssl=True,abortConnect=False
APPINSIGHTS_INSTRUMENTATIONKEY=[Azure, Application insights, Instrumentation Key, can be found in Overview]

These settings are also available in the env.in file.

For Development

Install

npm install

Usage

Start the service on localhost:3000/student/kurser/kurs/:courseCode.

npm run start-dev

Deploy

The deployment process is described in Build, release, deploy. Technical details, such as configuration, is described in How to deploy your 🐳 application using Cellus-Registy and 🔧 How To Configure Your Application For The Pipeline.

Author

👤 KTH

About

En app som sköter generering av kurssida i Kurs- och programkatalogen. Sidan innehåller introducerande beskrivning, allmän information om kurs, kursplan och information om kurstillfällen.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 90.3%
  • CSS 7.4%
  • HTML 1.9%
  • PHP 0.1%
  • SCSS 0.1%
  • Handlebars 0.1%
  • Other 0.1%