https://github.com/rocky-jaiswal/todo-pro
Next.js + TRPC application backed by Spring Boot + JPA on Kotlin
https://github.com/rocky-jaiswal/todo-pro
fastify kotlin nextjs spring-boot typescript
Last synced: 4 months ago
JSON representation
Next.js + TRPC application backed by Spring Boot + JPA on Kotlin
- Host: GitHub
- URL: https://github.com/rocky-jaiswal/todo-pro
- Owner: rocky-jaiswal
- Created: 2024-10-05T12:44:38.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-12T07:35:42.000Z (6 months ago)
- Last Synced: 2025-06-05T04:23:22.972Z (5 months ago)
- Topics: fastify, kotlin, nextjs, spring-boot, typescript
- Language: TypeScript
- Homepage: https://todo-pro.xyz/
- Size: 605 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Todo Pro
## What
A simple CRUD application to play around with - Next.js + TRPC & Spring Boot + JPA on Kotlin
## Run application locally
- __Technically, we need to simply run `docker-compose up`__ (or `docker-compose up --build` for the first run)
## But ...
- But for a new setup we need to pre-populate the "known" secrets in `.env` file since `auth-service` needs secure secrets
- To generate and set new secrets run -
- `cd auth-service && node bin/generateKeyPair.mjs`. This generates a new password protected RSA key pair for JWT signing (and new JWKS to be copied)
- Copy the pem key file secret in the `auth-service/secrets/development.env` file and update JWKS file
- Now run - `node generate_dev_env_file.mjs` and note the random secret
- Using this new random secret, in auth-service also run `node bin/lockSecret.mjs development ` to "lock" the secrets in the "auth-service"
- Finally run `docker-compose up --build`
## Setup for local development
- Comment `api-service` and `web-service` in the `docker-compose.yml` file
- Run `docker-compose up --build`. This will start the DB, migrate the DB and start a Node.js JWT+JWKS Auth service
- Go to the API (todo-pro-api) and run the Spring Boot application with Gradle (I usually do this from IntelliJ Idea)
- Go the the Web app (todo-pro-web) and run the Next.js app with `yarn dev`
- This allows for quick feedback loop
## Under developement
- This application is under development
## TODOs
- Priority
- Search (by text / date)
- Tags (search by tag)