https://theduckfront.osc-fr1.scalingo.io/
A simple full-stack application that displays random quotes. The project is composed of:
- A FastAPI backend that exposes a REST API
- A React frontend (built with Vite) that consumes the API and displays quotes
This project was built as part of my personal portfolio to demonstrate clean backend architecture, API design, and frontend–backend integration.
Features
- Single REST endpoint: /quote
- Returns a random quote as JSON
- Type-safe responses using Pydantic
- CORS enabled for frontend integration
- Easy to extend with additional endpoints
cd back
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --reload
The API will be available at: http://localhost:8000/
Features
- Simple React UI
- Fetches data from the backend API
- Displays a random quote
- Designed to stay minimal and focused on API consumption
cd frontend
npm install
npm run dev
The frontend will be available at: http://localhost:5173
- The frontend calls GET /quote
- CORS is configured in backend/app/main.py
- The API URL can be adjusted via environment variables or configuration if needed
Database
- Uses quotes.db
back/data/quotes.db - Database access logic lives in
back/app/helpers/quotes.py
CORS
- Configured in main.py
- Add additional frontend origins as needed