Full‑stack web application for sharing recipes and creating cookbooks.
Tech stack
- Frontend: React + TypeScript + Vite
- Backend: Spring Boot (Java 21), Spring Security + JWT
- Database: MySQL
- User registration and login (JWT authentication)
- Browse recipes and open a recipe detail
- Browse cookbooks and open a cookbook detail
- Search recipes and cookbooks
- Create, edit, and delete recipes/cookbooks
- Add/remove recipes to/from cookbooks
- User profile (username, bio, profile picture)
- Cookbook collaboration (owner can manage collaborators)
- Create a MySQL database named
recipe_app(or another name if preferred). - Download the release package:
- Extract the contents of the zip file.
- Navigate to the
/release/backendfolder. - Rename the file
application-example.propertiestoapplication.properties. - Open application.properties and fill in your database credentials:
usernameandpasswordfor your MySQL user- Update the database name if you used a different one
- Set the JWT secret key:
security.jwt.token.secret-key- This is a secret string used to sign JWT tokens and protect authentication.
- There is no strict minimum length, but for better security, use at least 8 characters (letters, numbers, and symbols).
- Keep this key private and do not share it.
- Run the backend jar file by double-clicking it or by running the following command in a terminal:
java -jar recipe-app.jar- Navigate to the
/release/frontendfolder. - Open a terminal in this folder (make sure you are inside the frontend directory).
- Install dependencies and start the development server:
npm installnpm run dev
- The frontend will be available at http://localhost:5173
- Make sure your database is running
- Start the backend and frontend as described above
- Open your browser and go to http://localhost:5173 to use the application
PolyForm Noncommercial License 1.0.0 (see LICENSE.md).