Please see https://github.com/SaltyNote/saltynote-service-kotlin for further updates!
This is the backend service for saltynote. It
uses JWT for authentication(access token
& refresh token
). As high-level, this service provides
APIs for:
- User (signup, login, token refresh, token cleanup, password reset, account delete)
- Note (create, update, fetch and delete)
Unit Test Coverage report: https://saltynote.github.io/saltynote-service/jacoco/
Due to different storage engines, there are TWO docker-compose files, one for mongo and the other for mariadb.
# For mariadb, please run:
docker compose -f docker-compose-mariadb.yml -p saltynote-service-mariadb up
# For mongodb, please run:
docker compose -f docker-compose-mongo.yml -p saltynote-service-mongo up
When it is ready, you can visit http://localhost:8888, it should response with the payload below.
{
"status": "OK",
"message": "Welcome to SaltyNote!"
}
This is a standard spring boot project with Maven, so you can use generic maven command to run it. While the simplest &
quickest way is to run ./start.sh
.
Swagger UI will be available at http://localhost:8888/swagger-ui.html (Screenshot for User APIs)
- Java 17 (due to Spring Boot v3)
- Docker (docker compose) for setting up development dependencies, e.g. database, redis, etc.
- IDE (Eclipse or Intellij)
- The service relies on database to store
user
andnote
information. In development env, you can rundocker compose up
to startmongo(storage)
andredis(cache)
locally(add-d
if you want start it as “detached” mode). - This service also need smtp service to send email(Note: this is optional now, if not setup, the email payload will be logged(code).).
saltynote service is licensed under MIT - LICENSE