This guide shows you how to deploy the Hiking Logbook to production.
hiking-logbook-api
cd backend && npm install
cd backend && npm start
In Render dashboard, add these:
PORT=3001
NODE_ENV=production
FIREBASE_PROJECT_ID=your_project_id
FIREBASE_PRIVATE_KEY_ID=your_private_key_id
FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
FIREBASE_CLIENT_EMAIL=your_firebase_email
FIREBASE_CLIENT_ID=your_client_id
Click “Create Web Service” - Render will deploy automatically!
Your API will be at: https://your-app-name.onrender.com
npm install -g firebase-tools
firebase login
Create frontend/.env.production
:
# Same Firebase config as .env
REACT_APP_FIREBASE_API_KEY=your_api_key
REACT_APP_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
REACT_APP_FIREBASE_PROJECT_ID=your_project_id
REACT_APP_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
REACT_APP_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
REACT_APP_FIREBASE_APP_ID=your_app_id
# UPDATE THIS to your Render backend URL
REACT_APP_API_URL=https://your-app-name.onrender.com
cd frontend
npm run build
firebase deploy --only hosting
Your app will be at: https://your-project-id.web.app
In backend/src/middleware/index.js
, add your production URL:
app.use(cors({
origin: [
'http://localhost:3000', // Development
'https://your-project-id.web.app' // Production - ADD THIS
],
credentials: true,
}));
Commit and push - Render will auto-deploy.
Visit your URLs:
https://your-project-id.web.app
https://your-app-name.onrender.com/health
https://your-app-name.onrender.com/api-docs
Try:
Frontend can’t reach backend:
REACT_APP_API_URL
in .env.production
Backend crashes on startup:
Database errors:
# Frontend
cd frontend
npm run build
firebase deploy --only hosting
# Backend - just push to GitHub
git push origin main
# Render auto-deploys
After deployment, save these:
https://your-project-id.web.app
https://your-app-name.onrender.com
https://your-app-name.onrender.com/api-docs