Upload images. Get URLs. Done.
SnapURL is a developer-focused SaaS image upload and delivery platform designed for avatars, social media assets, and application-only image usage. It provides a secure, fast, and simple API to upload images and retrieve public URLs, with full dashboard, API key management, and authentication.
- Secure image uploads via API
- Public image URLs for instant access
- API key & upload token management
- JWT-based authentication with refresh tokens
- GitHub OAuth login
- User dashboard (images, API keys, profile)
- Image deletion & account management
- Optimized for avatars and app-only images
- React.js
- TypeScript
- TanStack Query
- React Router
- Axios
- Tailwind CSS / Custom UI
- GitHub OAuth (client)
- Dark mode-first design
- NestJS
- MongoDB + Mongoose
- JWT Authentication
- GitHub OAuth
- Argon2 (password hashing)
- Multer (multipart uploads)
- RESTful API architecture
- Email & Password authentication
- GitHub OAuth login
- Short-lived access tokens (JWT)
- Refresh token rotation
- Protected routes via JWT guards
GET /api
POST /api/auth/signup
POST /api/auth/login
POST /api/auth/logout (protected)
POST /api/auth/refresh
GET /api/users/me
PATCH /api/users/me
PATCH /api/users/me/avatar
PATCH /api/users/change-email
PATCH /api/users/change-password
DELETE /api/users/delete-account
POST /api/uploads
Headers
{
"Content-Type": "multipart/form-data",
"X-Upload-Token": "your-upload-token"
}Body
{
"file": "<image-file>"
}GET /api/images/:NAME
DELETE /api/images/:IMAGE_TOKEN_HASH
GET /api/images
POST /api/secrets
GET /api/secrets
DELETE /api/secrets/:ID
Used to generate upload tokens for secure API access.
curl -X POST https://api.snapurl.com/api/uploads \
-H "X-Upload-Token: ssk_UPLOAD_TOKEN" \
-F "file=@avatar.jpg"- View uploaded images
- Copy image URLs
- Delete images
- Manage API keys
- Monitor API usage
- Update profile & avatar
- Change email/password
- Argon2 password hashing
- JWT + Refresh token rotation
- Upload token validation
- File type & size validation
- Rate-limit ready architecture
- Image hash-based access control
- User avatars
- Social media previews
- App-only images
- Developer tools
- SaaS product assets
โ ๏ธ Not intended for hosting public galleries or large media libraries.
cd backend
pnpm install
pnpm start:devcd frontend
pnpm install
pnpm dev- Image transformations (resize, crop)
- CDN integration
- Usage-based billing
- Rate limiting per API key
- Webhooks
- Team workspaces
MIT License
Brijesh Kumar Built as a production-grade SaaS project to demonstrate full-stack system design, authentication, and API architecture.







