# Westuffind - FBLA 2026 ## Overview This is a lost and found application built using [SvelteKit](https://kit.svelte.dev/) for the 2026 FBLA Website Coding & Development event. It allows users to browse items, post found items, and manage them. The application is designed for fast performance and a seamless user experience. ## Features - User authentication (login/signup/logout) - Email-only token-based methods for non-admins - Browse/search items - Post found items - Inquire about items - Claim items - Email notifications - Themes ## Installation To set up the project locally, follow these steps: ### Prerequisites - [Node.js](https://nodejs.org/) (LTS recommended) - [npm](https://www.npmjs.com/) or [pnpm](https://pnpm.io/) ### Clone the repository ```sh git clone https://git.marinodev.com/MarinoDev/FBLA25 cd FBLA25 ``` Create a `.env` file in the root directory and configure environment variables. `.env.example` is provided as a template. Download a LLaMA compatible LLM (and mmproj) to `llm-models`. I recommend [Qwen3-VL-2B-Instruct](https://huggingface.co/Qwen/Qwen3-VL-2B-Instruct-GGUF). ### Docker A `Dockerfile` and `docker-compose.yml` file are provided for running the application in a Docker container. ### Manual Using Docker is strongly recommended, as it bundles the database and the AI. #### Install dependencies ```sh npm install ``` #### Start the development server ```sh npm run dev ``` Go to `http://localhost:5173/` (or the port shown in the terminal). ## Deployment To deploy the application, build it using: ```sh npm run build node build ``` ## Resources Used ### Technologies - [SvelteKit](https://kit.svelte.dev/) - [Tailwind CSS](https://tailwindcss.com/) - [Shadcn (Svelte version)](https://www.shadcn-svelte.com) ### Libraries - [dotenv](https://www.npmjs.com/package/dotenv) - [bcrypt](https://www.npmjs.com/package/bcrypt) - [desm](https://www.npmjs.com/package/desm) - [nodemailer](https://www.npmjs.com/package/nodemailer) - [jsonwebtoken](https://www.npmjs.com/package/jsonwebtoken) - [postgres.js](https://www.npmjs.com/package/postgres) - [lucide](https://www.npmjs.com/package/@lucide/svelte) - [sharp](https://www.npmjs.com/package/sharp) - [valibot](https://www.npmjs.com/package/valibot)