Skip to content

Latest commit

 

History

85 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPLv3 License


Logo

📖 LogBlock: the developer-centric social media platform

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 :).

Built With

  • Next
  • Spring boot
  • Docker
  • PostgreSQL
  • Tailwind

📜 Prerequisites

  • Docker (preferably the latest version).

⚙️ Configuration

🖇️ Components linking

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.

🌑 Back-end customization and linking

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.

☀️ front-end customization and linking

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.

📦 Building

The project can simply be built using the provided compose file:

$ docker compose up --build --force-recreate

Which 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.

🖼️ Usage

The project can easily be fired up through the same docker compose file used during the initiation process.

🎉 Contributing

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.

📑 License

Distributed under the GPLv3 License. See LICENSE for more information.

🔎 Contact

LinkedIn

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

About

Introduction to Software Engineering - Group 01 - LogBlock - Programming Social Media Service

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages