This is a Spring Boot backend and Svelte/SvelteKit frontend project with a PostgreSQL database for digitizing, storing, and retrieving/viewing family recipes.
The repository contains two main parts:
src/ — Java Spring Boot backend that serves REST APIs, persistence, authentication, and business logic.recipearchive-frontend/ — SvelteKit frontend application that consumes the backend APIs and delivers the user experience../mvnw)src/main/resources/application-dev.yml or src/main/resources/application.properties.From the project root:
./mvnw clean package
./mvnw spring-boot:run
The backend starts on http://localhost:8080 by default.
./mvnw clean package./mvnw spring-boot:run./mvnw testFrom the frontend folder:
cd recipearchive-frontend
npm install
npm run dev
The frontend development server typically runs on http://localhost:5173 and should be configured to point to the backend API.
The backend uses YAML configuration files under src/main/resources/:
application-dev.yml — development settingsapplication-prod.yml — production settingsapplication.properties / application.yaml — shared Spring Boot configurationFlyway migration scripts are located in src/main/resources/db/migration/.
The database uses PostgreSQL and has the following tables and table columns.
These are the available endpoints served by the Spring Boot server along with the controller names that handle the logic for each endpoint.
| Name | Method | Path | Controller |
|---|---|---|---|
| Login | POST | /auth/login | AuthController |
| Get all recipes | GET | /recipes | RecipeController |
| Get one recipe | GET | /recipes/{id} | RecipeController |
| Get a user's recipes | GET | /recipes/user/{userId} | RecipeController |
| Create a recipe | POST | /recipes | RecipeController |
| Delete a recipe | DELETE | /recipes/{id} | RecipeController |
| Update a recipe | PUT | /recipes/{id} | RecipeController |
| Get all users | GET | /users | UserController |
| Get a user | GET | /users/{id} | UserController |
| Register a user | POST | /users | UserController |
| Update a user | PUT | /users/{id} | UserController |
| Delete a user | DELETE | /users/{id} | UserController |
The frontend source is located in recipearchive-frontend/ and includes the SvelteKit application, route files, and UI components.
This project includes the LICENSE file in the repository root directory.