Skip to content

GitForEdu/odin

Repository files navigation

Odin

Odin is a Next.js project bootstrapped with create-next-app. Odin makes it easier to manage software development courses using a combination of Blackboard eLearning platform and the GitLab DevOps platform.

Odin has been designed and developed by Petter Grø Rein and Tore Stensaker Tefre as part of a master thesis project supervised by George Adrian Stoica at The Department of Computer Science (IDI) at The Norwegian University of Science and Technology in Trondheim, Norway.

Why the name Odin? Because we wanted a cool codename for the project. We thought maybe to use the name of a god, and found out that Odin was the god of knowledge and wisdom, very fitting for the context of the project.

Getting Started

After cloning the project, please install necessary packages:

yarn

Initialize the local database:

yarn dbinit

Then you need to register a Blackboard app, get it approved to retrieve data from a running instance over the api of the instance. This means for NTNU you have to contact NTNU IT and give them the application ID of your application. Registration portal for Blackboard applications
Picture of Blackboard settings of application can be seen here

You also need to create an application on Dataporten. Input the redirect url of this app, client_type should be confidential, scopes/rights should be: email, openid, profile, userid and userid-feide. Registration portal for Dataporten
Picture or Dataporten settings of application can be seen here
Picture of required scopes for application can be seen here

The last you will need is access to a GitLab instance. This is for later when the application will ask you where to want to host the Git repositories of the course.

Input all of the keys and URLs in a .env.local to overwrite .env (copy the content of .env and fill missing fields)

Because you probably are not registered as an instructor in a course we have created an override option in the .env files. underviser1 is registered as a instructor so you can input that or something else on the variable OVERRIDE_LOGIN_USERNAME.

Because we want to have an easy development time we have provided mock/fake instances of GitLab and Blackboard to use with this application. The mock project is located in mock-blackboard-api. Note that this mock project does not at the moment support all the POST request. So every change or save function does not work. You can create a connection between a Course on Blackboard and GitLab, and you can we a "course" with mocked data. For the connection GitLab URL and PAT the application will ask you for use http://localhost:5050 for the URL and the PAT can be any string. Also filterting does not work (date filter etc). Steps to use the project:

  • cd into the project folder
  • type yarn install
  • type yarn start
  • Go back to main project, change BB_API key in .env.local file to https://localhost:5050
  • Change MOCK_ACCESS_TOKEN key to 1

Now you are good to go on with development, and can run the application with:

yarn dev

Open http://localhost:3000 with your browser to see the result.

Learn More

To learn more about the application read the thesis. Creating a Web Application Supporting Git in Software Development Courses in Higher Education.

We will probably create a wiki and add additional information there when we have time.

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages