From a0cd680aec68d507ddc18dc27341e133ea28f600 Mon Sep 17 00:00:00 2001 From: Xevion Date: Thu, 23 Feb 2023 22:32:35 -0600 Subject: [PATCH] Rewrite README --- README.md | 50 ++++++++++++++++++++++++-------------------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 965a122..43e72a7 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,36 @@ -This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). +# bus-reminder -## Getting Started +A cron-job based personal notification system for myself. -First, run the development server: +## Purpose -```bash -npm run dev -# or -yarn dev -# or -pnpm dev -``` +I have a problem with letting time get away from me, and in turn, I have accidentally missed the last bus several times. -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. +Additionally, I allow my parentals (who live 200 miles away from me) to make sure I'm safe using the location tracking app Life360. For background, I consented to this and brought up it's usage in the first place, so I do not mind it. -You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file. +After thinking about it, I thought it might be a great idea to use their location data for myself: I could check my location occasionally, and if I'm still at the library on weekdays right before the bus stops running, I can send myself a notification. -[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`. +And that's pretty much the whole idea. -The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. +## Stack -This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. +Next.js was complete overkill for this, and in retrospect, using something like AWS Lambda or Azure Functions may be much more ideal. Even Cloudflare Workers might be easier (although I require Node APIs, I believe). -## Learn More +- [Next.js][nextjs] +- [`life360-node-api`][life360-node-api] for the Life360 API +- [Vercel][vercel] for Serverless Functions +- [Cronitor][cronitor] for Cron Job Monitoring +- [cron-jobs.org][cron-jobs] for Cron Job Execution + - Why both, you may ask? I prefer Cronitor's more verbose telemetry API, and I plan to switch off Vercel eventually. + - Vercel has cron jobs, why not use that? Because Vercel requires a Pro plan for cron jobs that execute more than once a day. I unfortunately do not need anything other than cron jobs. -To learn more about Next.js, take a look at the following resources: +[nextjs]: https://nextjs.org/ +[life360-node-api]: https://github.com/kaylathedev/life360-node-api +[vercel]: https://vercel.com +[cronitor]: https://cronitor.io +[cron-jobs]: https://cron-jobs.org -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. +## TODO +- Integrate Discord notifications +- Create system for dynamically disabling the check for the rest of the day ([Upstash](upstash.com) for Redis) \ No newline at end of file