Transform your images into calendar desktop wallpapers. Check it out.
- Choose between the 12 months, the formatting of the month, be it short, long or numeric.
- Switch the starting day of the week (Sun/Mon).
- Funky collections of fonts, with option to upload custom font.
- Move around the calendar block according to your wallpaper.
- Get a LIVE preview of the changes and download the 4K wallpaper!!!
- NEW: Share it with the world (in the Community section)
- Node.js 18+
- npm/yarn/pnpm
- PostgreSQL database (local or hosted)
- AWS S3 bucket (optional, for wallpaper uploads)
- Upstash Redis account (optional, for download/publish tracking)
- GitHub OAuth App (optional, for authentication)
- Google OAuth App (optional, for authentication)
# Clone the repo
git clone https://github.com/shm-dtt/wallendar
cd wallendar
# Install dependencies
npm install
# Set up environment variables
cp env.example .env.local
# Update .env.local with your values (see Environment Variables section below)
# Set up the database
npx prisma migrate dev
# Run dev server
npm run devVisit http://localhost:3000 to get started.
Copy env.example to .env.local and fill in the following variables:
AWS_REGION- AWS region where your S3 bucket is located (e.g.,us-east-1)AWS_ACCESS_KEY_ID- AWS access key IDAWS_SECRET_ACCESS_KEY- AWS secret access keyAWS_S3_BUCKET_NAME- Name of your S3 bucket for storing wallpapers
To enable GitHub and Google login:
DATABASE_URL- PostgreSQL connection string (e.g.,postgresql://user:password@localhost:5432/wallendar)BETTER_AUTH_SECRET- Secret key for Better Auth (generate withopenssl rand -base64 32)BETTER_AUTH_URL- Your application URL (e.g.,http://localhost:3000for dev,https://yourdomain.comfor production)GITHUB_CLIENT_ID- GitHub OAuth App client IDGITHUB_CLIENT_SECRET- GitHub OAuth App client secretGOOGLE_CLIENT_ID- Google OAuth App client IDGOOGLE_CLIENT_SECRET- Google OAuth App client secret
For production download and publishing tracking:
UPSTASH_REDIS_REST_URL- Redis URL from UpstashUPSTASH_REDIS_REST_TOKEN- Redis token from Upstash
Note: The app will work without Redis, OAuth, and S3 in development mode, but these are required for full functionality in production.
Made with Next.js, shadcn/ui, and Zustand by shm-dtt
Credits for the color picker: Ryan Mogk
