Skip to content

bisignam/toodai

Repository files navigation

Toodai

Minimalistic, bloat-free, personal bookmarks organizer and search engine for the busy developer.

What is it?

Toodai is an open source social bookmarking web application. The word Toodai is an english adaptation of the japanese word 灯台, which roughly translates to lighthouse.

The project aims to be a flexible and lightweight solution to easily share and explore bookmarks. The application is specifically targeted at developers and tech enthusiasts that often need to organize and find back links to confluence pages, issue trackers, company wikis and several other resources.

One of the key features of Toodai is the abilty to quickly perform full text queries on your personal bookmarks, allowing developers to esily find resources without using clumsy/slow systems like standard browsers bookmarks and folders.

Backend development setup

Pre-requisites

Install docker and docker-compose

Additional setup for the elasticsearch container

sudo sh -c 'echo 'vm.max_map_count=262144' > /etc/sysctl.conf'
sudo sysctl -p

The previous commands are required to run the elasticsearch container on linux. See this link for more details.

Build the backend

Go to the root of the project and run

./mvnw clean package

Alternatively, if you don't want to run the tests, you can run

./mvnw clean package -DskipTests

Run the backend

Go to the root of the project and run

docker-compose --profile local up -d --build

The previous command will launch all the required containers in the background and build the images if needed. It will not start the application though, just the dependencies.

To run the main application, go to the root of the project and run

./mvnw spring-boot:run -Dspring-boot.run.profiles=local

Frontend development setup

Prerequisites

The easiest way to install nodejs is to use nvm, which can be installed with

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

Once nvm is installed you can install nodejs version 16 with

nvm install 16

Then to build the frontend, go to src/main/toodaifrontend and run

npm run build

Then to run the frontend, go to src/main/toodaifrontend and run

npm run start

Swagger UI

Once the backend is up and running, you can access the swagger ui at http://localhost:8080/swagger-ui.html#/.