A shopping list application built with Vite, React 19, Express, and SQLite. Users can define a list name/username to maintain individual shopping lists.
- Frontend separation: Components are broken down into logical files (
Login.tsx,ShoppingList.tsx,VoiceControls.tsx,ItemRow.tsx). - Backend separation: A properly structured Node/Express architecture is in place (
server/index.js,server/db,server/controllers,server/routes). - Shareable Lists: You can now share your list using the "🔗 Share List" button, which copies a URL like
?list=USERNAME.
-
Copy
.env.exampleto.env:cp .env.example .env
-
Make sure the
datadirectory exists locally to store your persistent database:mkdir -p data
-
Run with Docker Compose:
docker-compose up -d --build
You can run both the frontend and backend in development:
-
Start the Node backend API (runs on port
3000):npm start
-
In a separate terminal, start the Vite dev server (proxies
/apito3000):npm run dev