daily is an app for organizing everyday life.
Technically speaking, this is a "monorepo" with a Spring Boot backend and a Quasar (Vue.js)
frontend.
The backend exposes both the frontend SPA assets, routed by serving the index file for each request,
and
a set
of APIs under a specific context. The login and signup routes are the only public ones.
To build and run the app, the following requirements are needed:
- Java 21+
- Maven
- Docker
Follow these instructions:
- From the root of the project, run
docker compose -f daily-docker-compose.yml up --build -d
to download, build and run the required environment - Check the status of the containers with
docker compose -f daily-docker-compose.yml ps
and wait until every listed item ishealthy
(this may take a while), then run the following Maven command to start the app:mvn clean spring-boot:run "-Dspring-boot.run.jvmArguments=-DGOOGLE_OAUTH2_CLIENT_SECRET=nz754EdKFuBI8kJFF9fYqucW91q6mJV1 -DGOOGLE_OAUTH2_CLIENT_ID=daily -DSPRING_MAIL_HOST=localhost -DSPRING_MAIL_PORT=1025 -Dspring.security.oauth2.client.registration.google.scope=openid,profile,email -Dspring.security.oauth2.client.provider.google.issuer-uri=http://localhost:8081/realms/daily -Dspring.datasource.url=jdbc:postgresql://localhost:5433/daily_develop -Duser.timezone=Etc/UTC"
- Visit http://localhost:8080 and use
user1@gmail.com
oruser2@gmail.com
for the username andstrongpass
for the password; you can also sign a new app user up, if you want; in that case, be aware that every e-mail sent is locally redirected to the MailHog instance, and you can check http://localhost:8025 to open the local e-mail client. Remember the changes will not be persisted to the Postgres instance unless you modify thedaily-docker-compose.yml
file to mount an auxiliary volume - Hit
CTRL+C
to stop the app from running; you can optionally rundocker-compose -f daily-docker-compose.yml down -v --rmi all
to remove the leftovers