Full-stack test project: flower shop platform with cart, favorites, and delivery management.
Built with React + TypeScript (frontend) and Node.js + Express + Prisma (backend).
flower-delivery-app/
βββ backend/ # API server (Node.js, Express, Prisma)
βββ frontend/ # React client (Vite + React + TypeScript)
βββ README.md # Project documentation- React 18 + TypeScript
- Routing with React Router
- State management with custom hooks (
useCart,useFavorites) - Pagination & sorting (by price and date)
- Responsive design with CSS modules
- Favorites & Cart functionality
- Google Maps integration:
- Display delivery map with marker
- Autocomplete delivery address (Google Places API)
- Store coordinates (lat/lng) with orders
- Node.js + Express + TypeScript
- Prisma ORM (with SQLite in dev, PostgreSQL in prod)
- Endpoints for:
- Shops
- Flowers
- Cart & Favorites
- Orders (with delivery address + coordinates)
- Pagination and filtering
-Frontend: https://flower-delivery-app.vercel.app
-Backend API: https://flower-delivery-app-84aa.onrender.com
git clone https://github.com/OlesiaKubska/flower-delivery-app.git
cd flower-delivery-appcd backend
npm installDATABASE_URL="file:./dev.db"
PORT=4000npx prisma migrate devnpm run devcd frontend
npm installVITE_GOOGLE_MAPS_API_KEY=your_google_maps_api_keynpm run dev-
Frontend: http://localhost:5173
-
Backend: http://localhost:4000
-
Go to Google Cloud Console
-
Create project
flower-delivery -
Enable APIs:
-
Maps JavaScript API
-
Places API
-
Directions API
-
Geocoding API
-
Create API key β restrict by domain
(http://localhost:5173) -
Add key to
frontend/.env
- GET /shops β list shops
- GET /flowers β list all flowers
- POST /orders β create order (address + coordinates)
- GET /orders/:id β order details
Full Stack Developer | Flower Delivery Test Project