https://github.com/amirfakhrullah/sched
Schedule-based Markdown note taking app for students and teachers built using create-t3-app
https://github.com/amirfakhrullah/sched
nextauth nextjs prisma t3-stack tailwindcss trpc typescript
Last synced: 2 months ago
JSON representation
Schedule-based Markdown note taking app for students and teachers built using create-t3-app
- Host: GitHub
- URL: https://github.com/amirfakhrullah/sched
- Owner: amirfakhrullah
- License: mit
- Created: 2022-09-04T16:42:48.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-03-13T17:13:01.000Z (over 2 years ago)
- Last Synced: 2025-04-02T01:53:14.300Z (about 1 year ago)
- Topics: nextauth, nextjs, prisma, t3-stack, tailwindcss, trpc, typescript
- Language: TypeScript
- Homepage: https://sched.amrf.me
- Size: 1010 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Description
Simple schedule-based Markdown note taking app for students and teachers built using `Create-T3-App`: `Next.js`, `NextAuth`, `TypeScript`, `tRPC` and `Prisma`.

## Quick Links
- [sched.amrf.me](https://sched.amrf.me)
## Goals For This Project
- Use the `Create-T3-App` boilerplate
- Using new `Next.js` middleware to handle auth redirects / routes protection
- Setting up multiple OAuth providers with `NextAuth`
- Use `Railway` for `postgresql` hosting
- Render markdown content using `react-markdown` and `@tailwindcss/typography`
## Project Features
- User able to login via OAuth with `Google`, `GitHub`, `Twitter`, `Twitch` and `Spotify` providers.
- User can create courses and set the duration for the courses
- For example, students/teachers can create multiple courses and set the duration for 1 semester (6 months or so)
- Then they can create the weekly schedules for the courses. For example, a student has Mathematics course and the course is from 8AM - 10AM from Monday - Friday. So they can set 5 schedules as the Mathematics course's weekly schedules, which are from Monday - Friday, 8AM - 10AM
- User can view their weekly schedules in the `Schedule` tab. User will also be able to select the specific weekly schedules that they want to see (by selecting the date)
- From the weekly schedule card, user can add the notes for the schedule. The note is rendered in `Markdown`
- For example, the student add note for the Monday's Mathematics class for that specific week
- In the `Search` tab, user can find their notes based on the tags that they created in the note
## Techstacks
- [Create-T3-App](https://create.t3.gg/)
- [Next.js](https://nextjs.org/)
- [TypeScript](https://www.typescriptlang.org/)
- [tRPC](https://trpc.io/)
- [TailwindCSS](https://tailwindcss.com/)
- [Next-Auth](https://next-auth.js.org/)
- [Prisma](https://www.prisma.io/)
- [Material-Tailwind](https://www.material-tailwind.com/)
- [TailwindCSS-Typography](https://tailwindcss.com/docs/typography-plugin)
- [React-Markdown](https://github.com/remarkjs/react-markdown)
- [Railway](https://railway.app/)
- [Vercel](https://vercel.com/)
## Setting Up Locally
- Clone or fork this repository
- To clone:
```bash
git clone https://github.com/amirfakhrullah/sched.git
```
- Set up `.env` vars (refer `.env.sample`)
- Install the dependencies. I'm using `npm` here, so:
```bash
npm i
```
- Running locally
```bash
npm run dev
```
## License
License under the [MIT License](./LICENSE)