β οΈ This project was created to upload and manage photos of participants of the Caorle Film Festival 2025
- βοΈ React
- #οΈβ£ Typescript
- β‘ Vite
- π Gaxios/Fetch for API calls
- π Express.js
- ποΈ Multer for file upload
- π CORS cross-origin
- π± i18next for multilanguage
- πͺΆ SQLite3
- π Google AI Vision
A modern, lightweight, and easily deployable stack!
- Photo upload and moderation system
- Multilanguage support (EN, IT, DE, ES) with i18n
- Fast development workflow with Vite and React
- RESTful API backend with Express.js
- File management and directory listing
- SQLite3 database for lightweight storage
- Image filtering with Google AI Vision
CaorleFilmSnap-V2/
βββ src/
β βββ backend/
β β βββ routes/
β β βββ middleware/
β β βββ uploads/
β βββ frontend/
β βββ src/
β βββ public/
βββ data/
βββ locales/
βββ package.json
βββ README.MD
- Clone the repository
git clone <repo-url> cd CaorleFilmSnap-V2
- Install dependencies
npm install
- Start development servers
This will launch both backend and frontend concurrently.
npm start
- Access the frontend at
http://localhost:5173 - Backend API runs at
http://localhost:3001 - Upload photos via the provided UI or API endpoints
- Translation files are located in
locales/ - Easily add new languages by creating a new translation file
- The stack is designed for easy deployment on any Node.js-compatible host
- For production, configure environment variables and use a process manager (e.g., PM2)
Contributions and feedback are welcome!