A full-stack recipe-sharing platform built using Java Spring Boot, React, and PostgreSQL, featuring Google Authentication and JWT-based security.
This project allows users to share, discover, and manage recipes while personalizing their experience with an allergy management system.
- Amirbek Shomurodov (Organizer) – Led the project, developed core features, implemented JWT authentication, built the Allergy Management Page, and designed UI/UX in Figma
- Dan Beck – Worked on backend development and API integrations
- Adam Hetzel – Assisted in database management and backend security
- Danyal Bhatti – Developed the User Profile Page and contributed to frontend optimizations
- Krish Sawhney – Worked on the Feedback System and enhanced API responses
- Mann Patel Patel – Assisted with authentication and frontend styling
- Sai Vaibhav Buddolu – Developed the Admin & Additional Pages and worked on UI improvements
- Dr. Fang Wang – Supervisor and mentor for the project. You can read more about Dr. Wang and her work at Brunel University
✅ User Authentication – Google OAuth & JWT for secure login
✅ Recipe Management – Users can create, update, and explore recipes
✅ Allergy Management – Users can set allergies, filtering out incompatible recipes
✅ Secure API – Advanced security measures for safe data handling
✅ Modern UI/UX – Designed in Figma for a seamless user experience
- Developed the Allergy Management Page to let users control their dietary preferences
- Implemented JWT authentication for enhanced security
- Assisted teammates in completing their tasks
- Designed the UI/UX of the application in Figma
- Frontend: React, Tailwind CSS
- Backend: Java Spring Boot
- Database: PostgreSQL
- Authentication: Google OAuth, JWT
Follow these steps to set up and run the project locally:
Before running the project, ensure you have the following installed:
- Java (JDK 17 or later)
- Node.js and npm
- PostgreSQL
- Maven
Run the following command in your terminal:
git clone https://github.com/yourusername/recipe-sharing-app.git
cd recipe-sharing-app
Navigate to the backend folder and install dependencies:
cd backend
mvn install
Navigate to the frontend folder and install dependencies:
cd ../frontend
npm install
You need to set up environment variables for both the backend and frontend.
Create a .env
file inside the backend directory and add the following:
DATABASE_URL=jdbc:postgresql://localhost:5432/your_database
DATABASE_USER=your_username
DATABASE_PASSWORD=your_password
JWT_SECRET=your_jwt_secret
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
Create a .env
file inside the frontend directory and add the following:
REACT_APP_GOOGLE_CLIENT_ID=your_google_client_id
REACT_APP_API_URL=http://localhost:8080
Make sure to replace placeholder values (your_google_client_id
, http://localhost:8080
, etc.) with your actual configuration.
✅ Tip: Restart your backend and frontend servers after setting up the environment variables to apply changes.
Let me know if you need any modifications! 🚀