Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

For PS (Professional Services), we mainly working with PDRs (Professional Development Records, which are a type of courses for student to take and promote their rank), certificates, notifications, user importer and other extensions (BCF and CSMART have special extension service in their organizations.)  (We usually do not work with RTA. So it is ok to skip that setup.)

We have 2 code bases:
https://gitlab.com/m8284/coredev for core services and extension services (our application is here)
https://gitlab.com/m8284/psdev for ps service tools

Before details, let’s briefly talk about the whole Marine Learning System (MLS). And details will be explained in following articles.

Setups

If you setup the system correctly, you should be able to start the background services (both core service and extension service) in task manager. Every time you re-build a solution, you will need to restart the service to see the changes.

The dbs you download from livebackup are anonymized dbs. They contains no sensitive user info. Thus you will see usernames like PatLearner0001A7D8-E9C1-11E8-80C5-00000A7B69B5.
If you just restored a new DB, it takes longer time (about 5-10 mins, remember to restore the db in a ssd of the PC!) to migrate the database and start the service. (You can have multiple code folders as well as multiple services).

...

When the service(s) is running. You can start the application from Visual Studio. (remember to open VS as admin)

...

You can choose Start Debugging if you want the application pauses when it hits the breakpoint. Your browser will have the site opened automatically.

If you run the application locally, you will first see this page.

...

#1 is the entrance of the main page

#2 is the entrance of dev tools, where you can run commands, import users and setup DNS

System Structure (briefly about how it works)

The purpose of MLS is helping marine companies to give their staff proper training.

Thus we have courses:

...

and Examswe have exams for courses: (not all courses have exam)

...