Website for making and sending QR code based message cards.
This is a full-stack application with:
- Frontend: Vue 3 + Vite (in
/frontend) - Backend: FastAPI + Python (in
/backend)
sparklets.im/
├── backend/ # FastAPI backend
│ ├── main.py # Main application entry point
│ ├── pyproject.toml # Python dependencies (managed by uv)
│ └── README.md # Backend documentation
├── frontend/ # Vue 3 frontend
│ ├── src/ # Vue source code
│ ├── package.json # Node dependencies
│ ├── vite.config.js # Vite configuration
│ └── README.md # Frontend documentation
├── .gitignore
├── .env.example
└── README.md
- Navigate to the backend directory:
cd backend- Install dependencies using uv:
uv sync- Run the development server:
uv run python main.pyThe API will be available at http://localhost:8000
- Swagger docs: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
- Navigate to the frontend directory:
cd frontend- Install dependencies:
npm install- Run the development server:
npm run devThe application will be available at http://localhost:5173
The frontend is configured to proxy API requests to the backend. Requests to /api/* will be forwarded to http://localhost:8000.
Backend:
- FastAPI
- Python 3.11+
- Uvicorn (ASGI server)
- Pydantic (data validation)
- uv (package management)
Frontend:
- Vue 3 (Composition API)
- Vite (build tool)
- Vue Router (routing)
- Pinia (state management)
- Axios (HTTP client)
Copy .env.example to .env and configure as needed:
cp .env.example .envMIT