Remindas is a web app written in TypeScript using Next.js.
Using it, users can create an account and set reminders for the future. At the specified date and time, an SMS message will be sent to their phone number with whatever message they decided to write.
Auth and user management is handled with Clerk, with Planetscale to store user's reminder data. SMS messages are sent using Twilio's messaging API. Shadcn/ui is implemented as the UI components and all styling is in Tailwind.
Reminders are scheduled using a Vercel cron job that runs every minute. The cron job calls an API endpoint which checks the database for any reminders that are scheduled for the next minute. If any are found, the reminder is sent to the user's phone number using Twilio's messaging API. The reminder is then marked as sent.
Using Remindas is easy. Just create an account with your google account, email or phone number,
Then add your phone number and start creating reminders
You can view and delete your scheduled or sent reminders from the Manage Reminders tab
git clone https://github.com/FlapShatner/remindas.git
- Install NPM packages
npm install
- Create accounts with Planetscale, Clerk, and Twilio
- Provide environmental variables
TWILIO_ACCOUNT_SID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_PHONE_NUMBER=+xxxxxxxxxx
DATABASE_URL='mysql://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PLANETSCALE_USERNAME=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
CLERK_SECRET_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- Generate Prisma schema and push it to your Planetscale DB
npx prisma generate
npx prisma db push
- Run the app
npm run dev
- Deploy to host of your choice (I use Vercel)
- Create a new branch
git checkout -b 'your-branch-name'
- Make changes.
- Push your branch to the upstream repo
git push origin your-branch-name
- 🎉 Follow the link provided to create a pull request 🎉
My Github
jordan@jrobertsweb.dev
- Fork it (https://github.com/yourname/yourproject/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request