Skip to content

janveryuu/UniFind

Repository files navigation


UniFind - Central Campus Lost and Found 🏫

A modern, AI-powered platform to streamline reporting, finding, and claiming lost items on university campuses.

Spring Boot Java MySQL GCP Gemini Render

🌟 Live Demo

The application is currently live and deployed in the cloud!
👉 Visit UniFind Live


✨ Key Features

  • 🤖 AI-Powered Item Matching: Integrates with Google Gemini AI to analyze item descriptions and automatically suggest potential matches between lost and found items.
  • 🔐 Secure Authentication: Integrated with Google OAuth2 so students can log in seamlessly using their existing university Google accounts.
  • 📸 Cloud Image Storage: Uploaded photos of lost items are securely stored and served globally via Cloudinary.
  • ☁️ Cloud Database: Real-time data persistence using a fully managed Aiven MySQL database.
  • 🎨 Responsive UI: A beautiful, accessible, and mobile-friendly frontend crafted with HTML5, CSS3, Thymeleaf, and FontAwesome.
  • 📊 Admin Dashboard: Specialized management views for campus administrators to oversee reports and claim requests.

🛠️ Tech Stack & Architecture

Backend & Core

  • Java 17 & Spring Boot 3
  • Spring Security (OAuth2 Authentication)
  • Spring Data JPA / Hibernate (ORM)
  • Maven (Dependency Management)

Frontend

  • Thymeleaf (Server-side templating)
  • HTML5 & Vanilla CSS3 (Custom vibrant design system)
  • FontAwesome (Icons)

Cloud Infrastructure & Third-Party APIs

  • Hosting: Render.com (Dockerized Container Deployment)
  • Database: Aiven (Managed MySQL)
  • Image Storage: Cloudinary SDK
  • AI Integration: Google Gemini Pro API

🚀 Running Locally (For Developers)

Want to run the code on your own laptop? Follow these steps:

1. Prerequisites

  • Java 17 or higher installed
  • Git installed

2. Clone the Repository

git clone https://github.com/janveryuu/unifind.git
cd unifind

3. Setup Environment Variables

To run all the features (like Google Login, Gemini AI, and Cloudinary), you need to provide your own API keys. Create an application-local.properties or set these in your terminal environment:

  • GEMINI_API_KEY
  • GOOGLE_CLIENT_ID
  • GOOGLE_CLIENT_SECRET
  • CLOUDINARY_URL
  • SPRING_DATASOURCE_URL
  • SPRING_DATASOURCE_USERNAME
  • SPRING_DATASOURCE_PASSWORD

4. Run the Application

You can use the included Maven wrapper to start the server:

# On Mac/Linux
./mvnw spring-boot:run

# On Windows
mvnw.cmd spring-boot:run

5. Open Your Browser

Go to http://localhost:8081 and you will see the UniFind landing page!


👨‍💻 About the Developer

This project was developed as part of a collaborative academic group project and is now being showcased as part of my professional development portfolio.

Developed and engineered by Jhan-Jhan17

About

An AI-powered campus Lost and Found system built with Spring Boot and Google Gemini to streamline reporting and securely claiming items.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors