LogBlock is designed to provide a better design and information flows for a platform where code sharing is easier than ever!
Currently, this project only consists of engineering design and implementation is not completed. However, everyone is free to submit changes if felt suited :).
- Docker (preferably the latest version).
In order for the three main components of a LogBlock unit to work, they must know where to look for the required depending processes.
Each component's hostname and port can be customized in the docker compose compose.yaml file. Mount source for database storage can be changed via the volume section, under the db-data unit. It is advised that the location has already existed before Docker is run. Mount destination is best to keep to default.
Be careful, since this is only an early stage implementation of the project, certain security aspect (such as setting environment variables directly in a docker compose file) can strictly weaken the system and should not be used in production.
Individual components must also know where their dependencies are using environment variables. Automatic bindpoint generation is not supported at the moment.
Back-end component can be switch to development mode by setting development in the BUILD_TYPE field. development mode allows developers to profile dependencies injection order and monitor for extensive Spring-related errors.
At src/back-end/.env, the current necessary credentials matching those that were set in the compose.yml file are listed. Oauth authentication can only be supported once both OAUTH_GOOGLE_CLIENT_ID and OAUTH_GOOGLE_CLIENT_SECRET is set.
Similarly, component linking must also be set in the front-end's environment variables. The variable ENABLE_AUTH_GUARD can be used to enable Oauth authentication on the front-end. back-end requires an authentication token retrieved through the SESSION_TOKEN cookie, which can also be disabled by starting the back-end in development mode.
The project can simply be built using the provided compose file:
$ docker compose up --build --force-recreateWhich will always rebuild the component images and start the components. If that is not desired, remove the --force-recreate flag.
The created images are as minimal as possible, and dependencies are only needed during build stage, which are destroyed after the system is fired up.
The project can easily be fired up through the same docker compose file used during the initiation process.
Since this is a academic project resource, I do not anticipate additional contribution to the repo. But if you have a suggestion that would make this better, please fork the repo and create a pull request. I'll try to allocate time to review and push the changes as soon as possible.
Distributed under the GPLv3 License. See LICENSE for more information.
Hung, Ngu Kiet (jonshung) - nkhung22@clc.fitus.edu.vn
Long, Nguyen The Thanh - nttlong22@clc.fitus.edu.vn
An, Trinh Cao - tcan22@clc.fitus.edu.vn
Long, Tran Thanh - ttlong22@clc.fitus.edu.vn
Cuong, Tran Nguyen Nhat - tnncuong22@clc.fitus.edu.vn
