Skip to content

dorukgezici/ituscheduler

Repository files navigation

ITU Scheduler

Create your ITU course schedules in fashion with up-to-date & detailed information.

Tech Stack: Astro, React, Supabase, Go   UI: Tailwind CSS, shadcn/ui

license GitHub all releases

🚀 Project Structure

Inside of your Astro project, you'll see the following folders and files:

/
├── public/
│   └── favicon.ico
├── admin/  # Go admin package (to be used by Vercel Go runtime functions)
│   ├── templates/
│   ├── go.mod  # Go module for the admin package
│   ├── handlers.go
│   └── scrapers.go  # Scrapers to get ITU course data
├── api/  # Vercel Go runtime serverless functions
│   └── index.go
├── src/
│   ├── components/
│   │   └── Card.astro
│   ├── layouts/
│   │   └── Layout.astro
│   └── pages/
│       └── index.astro
├── supabase/
│   └── migrations/  # Supabase migrations
├── components.json  # shadcn config
├── go.mod  # Go module for `./api`
└── package.json

Astro looks for .astro or .md files in the src/pages/ directory. Each page is exposed as a route based on its file name.

There's nothing special about src/components/, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.

Any static assets, like images, can be placed in the public/ directory.

🧞 Commands

All commands are run from the root of the project, from a terminal:

Command Action
pnpm install Installs dependencies
pnpm run dev Starts local dev server at localhost:4321
pnpm run build Build your production site to ./vercel/
pnpm run sb ... Run Supabase CLI commands
pnpm run sb-db Run Supabase db diff to generate migrations
pnpm run sb-types Generate Supabase types to ./src/types/database.types.ts
pnpm run vercel ... Run Vercel CLI commands