🎉 Full-Stack Article Writing Platform
Simple web app to create, edit, and share articles with a modern UI and reliable backend.
I made this project to see where I can go alone, I wanted to make a SaaS from scratch in less than 2 weeks.
I learned several things:
- How payment processing works
- Auth -> Sessions (I was used to JWTs before)
- Mailing
- Resend
- Magic links
- DNS (namecheap)
- Buy & configure a domain name
- Node.js 24+
- Docker & Docker Compose
- npm or yarn
cd backend
docker-compose up -dcd backend
npm install
npm run db:push
npm run devcd frontend
npm install
npm run devTo test payments locally, you need to expose your local backend to the internet so Polar.sh webhooks can reach it:
Install ngrok:
# Download from https://ngrok.com/download
# Or use brew on macOS
brew install ngrokExpose your backend:
ngrok http 3001You'll see output like:
Forwarding https://abc123def456.ngrok.io -> http://localhost:3001
Update environment variables:
In backend/.env, update POLAR_WEBHOOK_URL with your ngrok URL:
POLAR_WEBHOOK_URL=https://abc123def456.ngrok.io/api/payments/webhookUpdate Polar Dashboard:
- Go to Polar Dashboard
- Navigate to Settings → Webhooks
- Update the webhook endpoint URL to your ngrok URL
- Test the webhook connection
Now your local backend can receive webhooks from Polar during payment testing!