This is a Next.js project bootstrapped with create-next-app.
First, run the development server:
npm run devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
This app syncs data from Airtable to PostgreSQL.
Documentation:
- 📖 PRODUCTION_DEPLOYMENT.md - Deployment strategies and setup
- 🔧 VERCEL_CRON_TROUBLESHOOTING.md - Start here if refresh not working
- 📝 LOGGING_GUIDE.md - Understanding logs
Quick Start:
- Manual: Click refresh button in UI (60s timeout, may fail for large datasets)
- Recommended: Use scheduled cron job via API route (requires Vercel Pro)
- Alternative: GitHub Actions or external cron service (free)
- Monitoring: Check Vercel logs for detailed timestamped progress
Test the endpoint:
node scripts/test-refresh.js https://your-domain.vercel.app your-cron-secretImportant: Server actions have strict timeouts. For production, use the /api/refresh endpoint or scheduled cron jobs.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
npm audit # Security vulnerabilities
npm outdated # Outdated packages
npm run lint # ESLint errors
npx tsc --noEmit # TypeScript errorsnpm update # Safe patch/minor updates
npm install next@latest eslint-config-next@latest # Update Next.jsnpx shadcn@latest diff # Check for component updates
npx shadcn@latest add <component-name> --overwrite # Update specific componentrm -rf node_modules .next && npm install-
use
npx shadcn@latest add <component-name>when you need to add components. -
https://nextjs.org/docs/app/api-reference/file-conventions/src-folder
-
https://nextjs.org/docs/app/getting-started/project-structure
-
The
/publicdirectory should remain in the root of your project. -
Config files like
package.json,next.config.jsandtsconfig.jsonshould remain in the root of your project. -
.env.*files should remain in the root of your project. -
src/apporsrc/pageswill be ignored ifapporpagesare present in the root directory. -
If you are using a
srcdirectory, consider moving other application folders such as/componentsor/libintosrcfor consistency. -
If you are using a Proxy, ensure it is placed inside the
srcfolder. -
When using Tailwind CSS, add the
/srcprefix to thecontentarray in yourtailwind.config.jsfile to ensure proper scanning. -
If you use TypeScript path aliases like
@/*, update thepathsobject intsconfig.jsonto includesrc/.