Getting Started with Development

Required Repositories and File Structure for Development#

Five repositories make up the source code of the IMS Logger.

The current file structure required for development is not ideal. Several repositories must be cloned and in some cases renamed before the software can be built.

Below is the required file structure. The source repository of each folder is given in parentheses.

๐Ÿ“ Project Root
๐Ÿ“ compose_files (imslogger-compose)
๐Ÿ“ logger (imslogger-logger)
๐Ÿ“ lib
๐Ÿ“ imslogger (imslogger-logger)
๐Ÿ“ pyconpro (pyconpro)
๐Ÿ“ webinterface (imslogger-webinterface)

Note that the lib folder has no source repository; instead it has two repositories nested inside of it. After cloning imslogger-logger, this lib folder must be created (it is in the .gitignore file of the repository), and then the two nested repositories must be cloned inside of it.

Building and Running the project#

Building and running the project is fairly easy, but it's easy to forget.

Building#

To build the project, both the frontend and the backend (the docker images) must be built.

Build the Frontend: run npm run build in the /webinterface/frontend directory

Build the docker images: run the build script (./build) in ./compose_files/imslogger/

Running#

Run docker-compose up in the ./compose_files/imslogger/ directory.

VSCode Tasks#

Alternatively, you can use the VSCode tasks in this file.