Angular frontend integrated with backend microservices
  • TypeScript 86.2%
  • HTML 11.7%
  • SCSS 2.1%
Find a file
2024-01-01 18:02:32 +01:00
.vscode Initial commit 2023-07-26 22:45:01 +02:00
src Log out feature & dynamic layout service added (#7) 2024-01-01 18:02:32 +01:00
.editorconfig Initial commit 2023-07-26 22:45:01 +02:00
.gitignore Initial commit 2023-07-26 22:45:01 +02:00
.prettierrc.json Refactor & minor improvements (#4) 2023-12-25 21:10:57 +01:00
angular.json Initial commit 2023-07-26 22:45:01 +02:00
LICENSE.txt Initial commit 2023-07-26 22:45:01 +02:00
package-lock.json Refactor & minor improvements (#4) 2023-12-25 21:10:57 +01:00
package.json Refactor & minor improvements (#4) 2023-12-25 21:10:57 +01:00
README.md Bear in Mind Evaluation integration (#3) 2023-12-25 10:32:34 +01:00
tsconfig.app.json Initial commit 2023-07-26 22:45:01 +02:00
tsconfig.json Initial commit 2023-07-26 22:45:01 +02:00
tsconfig.spec.json Initial commit 2023-07-26 22:45:01 +02:00

Bear in Mind | Angular

The Bear in Mind is a free open-source LMS (learning management system). This is the Angular frontend integrated with backend microservices.

Demo

You can run this application without setting up backend microservices. All you need to is run the following command:

ng serve --configuration mock

You can log in to any user defined in the mock-user-data.ts file. Each user's password is password.

Optional modules

In Bear in Mind, we care about modularity, and thus the ability to run only the microservices you need. All modules are enabled by default in the frontend application. To disable one of them, all you need to do is to edit the environment file for each configuration according to the table below.

Module Enabled Disabled
Evaluation evaluationApiService: EnabledEvaluationApiService
EnabledModule.evaluation = 1
evaluationApiService: DisabledEvaluationApiService
EnabledModule.evaluation = 0

Security

Authorization

Application authorization is done using cookies with the Secure and HttpOnly flags set. This makes JavaScript unable to access the user's token, instead the browser is responsible for its storage and use.

Sending passwords

Passwords sent during signing up and logging in are hashed with the SHA-256 algorithm. We have decided on such a solution not to use the user's plaintext password at any stage of communication, not even over HTTPS. However, bear in mind that this approach must be consistent for each of your Bear in Mind frontend, otherwise the user may have problems logging into their account.

If you wish to opt out of client-side hashing, you can do so without significant security impact as passwords are additionally hashed server-side.

Project status

We are currently at the MVP (minimum viable product) stage. New features are already designed, and we are actively implementing them. At the moment, we do not have a planned production release date.

Contribution

Your contribution is welcome and we appreciate it. 💝 Before you start, please make sure you have read the information for contributors.

Code of Conduct

This project is governed by the Bear in Mind Code of Conduct. By participating, you are expected to uphold this code of conduct.

License

Bear in Mind Angular is released under the Apache 2.0 License.

Attribution

Illustrations

All illustrations by storyset on Freepik.

Photos