- Frontend: React, Tailwind CSS, React Query
- Backend: Node.js, Express, Prisma
- Database: PostgreSQL
- DevOps: Docker, Docker Compose
- Create a free account on Render.com
- Fork or have ownership of this repository
- In Render dashboard, go to "New +" > "PostgreSQL"
- Choose a name for your database
- Select the free tier
- Note down the following details:
- Internal Database URL
- External Database URL
- In Render dashboard, go to "New +" > "Web Service"
- Connect your repository
- Configure the service:
- Name: taskflow-backend (or your preferred name)
- Root Directory: server
- Environment: Node
- Build Command:
npm install && npx prisma generate && npx prisma migrate deploy - Start Command:
npm start
- Add environment variables:
DATABASE_URL=<Your Internal Database URL> JWT_SECRET=<Your Secret Key> CSRF_SECRET=<Your CSRF Secret> NODE_ENV=production CLIENT_URL=<Your Frontend URL> - Deploy the service
- In Render dashboard, go to "New +" > "Static Site"
- Connect your repository
- Configure the site:
- Name: taskflow-frontend (or your preferred name)
- Root Directory: client
- Build Command:
npm install && npm run build - Publish Directory: dist
- Add environment variable:
VITE_API_URL=<Your Backend URL> - Deploy the site
- Update CORS settings in the backend to allow requests from your frontend URL
- Test the application by creating a new account and adding tasks
- Free tier may have some limitations on usage and performance
- The application will sleep after 15 minutes of inactivity
- Database has storage limitations on free tier
- If the application fails to connect to the database, verify the DATABASE_URL
- For CORS issues, ensure CLIENT_URL matches your frontend URL exactly
- Check Render logs for detailed error messages