A simple full-stack web application with FastAPI backend and React + Tailwind CSS + Vite frontend.
Backend:
cd backend
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip3 install -r requirements.txt
uvicorn main:app --reloadFrontend (in a new terminal):
cd frontend
npm install
npm run devThen open http://localhost:5173 in your browser.
furnet/
├── backend/ # FastAPI backend
│ ├── api/
│ │ ├── __init__.py
│ │ └── routes.py # API routes
│ ├── main.py # FastAPI application
│ ├── requirements.txt # Python dependencies
│ └── .env.example # Environment variables template
├── frontend/ # React frontend
│ ├── src/
│ │ ├── components/
│ │ │ └── ItemList.jsx
│ │ ├── App.jsx
│ │ ├── main.jsx
│ │ └── index.css
│ ├── index.html
│ ├── package.json
│ ├── vite.config.js
│ ├── tailwind.config.js
│ └── postcss.config.js
├── CLAUDE.md # AI assistant context
└── README.md # This file
- FastAPI Backend: RESTful API with automatic documentation
- React Frontend: Modern React with hooks
- Tailwind CSS: Utility-first CSS framework
- Vite: Fast development server and build tool
- CORS Configured: Backend ready for frontend communication
- Proxy Setup: Vite configured to proxy API requests
- Python 3.12+
- Node.js 22+
- npm or yarn
- Navigate to the backend directory:
cd backend- Create a virtual environment:
python -m venv venv- Activate the virtual environment:
# On macOS/Linux
source venv/bin/activate
# On Windows
venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- (Optional) Create a
.envfile from.env.example:
cp .env.example .env- Start the FastAPI server:
uvicorn main:app --reloadThe API will be available at http://localhost:8000
- API Documentation:
http://localhost:8000/docs - Alternative docs:
http://localhost:8000/redoc
- Navigate to the frontend directory:
cd frontend- Install dependencies:
npm install- Start the development server:
npm run devThe frontend will be available at http://localhost:5173
Once both servers are running:
- Open your browser to
http://localhost:5173 - You should see the FurNet homepage with a list of items
- Items are fetched from the FastAPI backend
- You can delete items by clicking the "Delete" button
- Refresh the list with the "Refresh" button
GET /- Welcome messageGET /health- Health check
GET /api/items- Get all itemsGET /api/items/{item_id}- Get a specific itemPOST /api/items- Create a new itemDELETE /api/items/{item_id}- Delete an item
The FastAPI server runs with hot reload enabled. Any changes to Python files will automatically restart the server.
To run tests (after setting them up):
pytestThe Vite dev server provides hot module replacement (HMR). Changes to React components will update in the browser instantly.
To build for production:
npm run buildTo preview the production build:
npm run preview- FastAPI: Modern, fast web framework for building APIs
- Uvicorn: ASGI server for running FastAPI
- Pydantic: Data validation using Python type hints
- React 19: UI library with hooks
- Vite 6: Next generation frontend tooling
- Tailwind CSS: Utility-first CSS framework
- Axios: (Available) HTTP client for API requests
MIT