Skip to content

Create standalone.js to enable application bundling

Ilias Chanis requested to merge liakoyras/universis-teachers:standalone into next

What does this MR do?

Enables application packaging into a single executable.

A new file standalone.js was created to act as the entry point for an executable.
It is essentially a copy of the web server in bin/www.js, with some changes in order for the server to serve the files correctly from inside the bundle.

Also, some extra features were added in order to allow customization of config and log locations via command line arguments and environment variables, along with the ability to create a default app.production.json if no location is specified.

Screenshot_20230823_151550 Screenshot_20230823_151734

Developer Checklist

  • I have successfully run the code of this merge request locally

  • I have verified locally that my changes work for all necessary screen sizes

  • I have tried out the changes of this MR with different users to identify bugs

  • Coding is in progress, and I have marked the MR as WIP

  • Coding is completed and the MR is ready for review

  • My branch is up-to-date with the upstream master branch

  • My MR follows the contribution guidelines

  • I have added a comment with screenshots of the code running locally

Tech review Checklist

Have you verified that what is supposed to happen, actually does, and what is not supposed to happen, indeed does not?

  • The MR accurately describes the changes and has a relevant title/description
  • The MR does what it is supposed to according to its title, description and related issues/links
  • I have successfully run the changes locally, and tried the new code

Overall review Checklist

  • The MR references related issues/MRs
  • The MR provides links to screens and screenshots
  • The commits of the MR describe the changes, have proper wording, and follow the guidelines
  • I have successfully run the changes locally, and tried the new code
  • The MR is ready for merge (rebased, commit squashed if needed, etc)

Merge request reports