94 lines
2.2 KiB
Markdown
94 lines
2.2 KiB
Markdown
# 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)
|
|
|
|
|
|
|