├── .gitignore ├── LICENSE ├── README.md ├── actions ├── actions.ts └── stripe.ts ├── app ├── (guest) │ ├── book │ │ ├── [locationId] │ │ │ └── page.tsx │ │ └── checkout │ │ │ └── result │ │ │ └── page.tsx │ ├── layout.tsx │ ├── mybookings │ │ └── page.tsx │ └── page.tsx ├── api │ ├── parkinglocation │ │ └── new │ │ │ └── route.ts │ └── plate │ │ └── route.ts ├── dashboard │ ├── _components │ │ ├── desktop-sidebar.tsx │ │ ├── layout-switcher.tsx │ │ ├── mobile-sidebar.tsx │ │ └── sidebar-layout.tsx │ ├── bookings │ │ ├── _components │ │ │ ├── booked.tsx │ │ │ └── cancelled.tsx │ │ ├── bookings-list.tsx │ │ └── page.tsx │ ├── layout.tsx │ ├── locations │ │ ├── _components │ │ │ ├── add-location-button.tsx │ │ │ ├── add-location-dialog.tsx │ │ │ ├── number-of-spots.tsx │ │ │ ├── pricing.tsx │ │ │ ├── spot-address.tsx │ │ │ └── summary.tsx │ │ ├── edit │ │ │ └── [locationid] │ │ │ │ ├── location-edit-form.tsx │ │ │ │ └── page.tsx │ │ ├── mapview │ │ │ └── page.tsx │ │ ├── template.tsx │ │ └── tileview │ │ │ ├── _components │ │ │ ├── location-card.tsx │ │ │ ├── location-delete-button.tsx │ │ │ └── location-enable-switch.tsx │ │ │ └── page.tsx │ ├── page.tsx │ └── revenue │ │ └── page.tsx ├── favicon.ico ├── globals.css ├── layout.tsx ├── sign-in │ └── [[...sign-in]] │ │ └── page.tsx └── sign-up │ └── [[...sign-up]] │ └── page.tsx ├── components.json ├── components ├── active-link.tsx ├── address-autocomplete.input.tsx ├── banner.tsx ├── cancel-booking-button.tsx ├── confirmation-dialog.tsx ├── date-select.tsx ├── edit-booking-button.tsx ├── email-template.tsx ├── footer.tsx ├── map.tsx ├── search-component.tsx ├── search-form.tsx ├── search-result.tsx ├── sidebar.tsx ├── time-select.tsx ├── timeline-ticks.tsx ├── timeline.tsx ├── ui │ ├── alert-dialog.tsx │ ├── button.tsx │ ├── calendar.tsx │ ├── card.tsx │ ├── dialog.tsx │ ├── dropdown-menu.tsx │ ├── form.tsx │ ├── input.tsx │ ├── label.tsx │ ├── popover.tsx │ ├── progress.tsx │ ├── select.tsx │ ├── separator.tsx │ ├── sheet.tsx │ ├── sonner.tsx │ ├── switch.tsx │ └── tabs.tsx └── violation-email-template.tsx ├── lib ├── db.ts ├── stripe.ts └── utils.ts ├── middleware.ts ├── next.config.mjs ├── package.json ├── postcss.config.mjs ├── public ├── gateless-parking-mobile.png ├── map-bg.png ├── next.svg ├── parking_destination_tr.png ├── parking_pin_tr.png └── vercel.svg ├── schemas ├── booking.ts └── parking-locations.ts ├── store └── index.ts ├── tailwind.config.ts ├── tsconfig.json └── types ├── global.d.ts └── index.tsx /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/README.md -------------------------------------------------------------------------------- /actions/actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/actions/actions.ts -------------------------------------------------------------------------------- /actions/stripe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/actions/stripe.ts -------------------------------------------------------------------------------- /app/(guest)/book/[locationId]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/(guest)/book/[locationId]/page.tsx -------------------------------------------------------------------------------- /app/(guest)/book/checkout/result/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/(guest)/book/checkout/result/page.tsx -------------------------------------------------------------------------------- /app/(guest)/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/(guest)/layout.tsx -------------------------------------------------------------------------------- /app/(guest)/mybookings/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/(guest)/mybookings/page.tsx -------------------------------------------------------------------------------- /app/(guest)/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/(guest)/page.tsx -------------------------------------------------------------------------------- /app/api/parkinglocation/new/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/api/parkinglocation/new/route.ts -------------------------------------------------------------------------------- /app/api/plate/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/api/plate/route.ts -------------------------------------------------------------------------------- /app/dashboard/_components/desktop-sidebar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/_components/desktop-sidebar.tsx -------------------------------------------------------------------------------- /app/dashboard/_components/layout-switcher.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/_components/layout-switcher.tsx -------------------------------------------------------------------------------- /app/dashboard/_components/mobile-sidebar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/_components/mobile-sidebar.tsx -------------------------------------------------------------------------------- /app/dashboard/_components/sidebar-layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/_components/sidebar-layout.tsx -------------------------------------------------------------------------------- /app/dashboard/bookings/_components/booked.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/bookings/_components/booked.tsx -------------------------------------------------------------------------------- /app/dashboard/bookings/_components/cancelled.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/bookings/_components/cancelled.tsx -------------------------------------------------------------------------------- /app/dashboard/bookings/bookings-list.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/bookings/bookings-list.tsx -------------------------------------------------------------------------------- /app/dashboard/bookings/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/bookings/page.tsx -------------------------------------------------------------------------------- /app/dashboard/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/layout.tsx -------------------------------------------------------------------------------- /app/dashboard/locations/_components/add-location-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/locations/_components/add-location-button.tsx -------------------------------------------------------------------------------- /app/dashboard/locations/_components/add-location-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/locations/_components/add-location-dialog.tsx -------------------------------------------------------------------------------- /app/dashboard/locations/_components/number-of-spots.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/locations/_components/number-of-spots.tsx -------------------------------------------------------------------------------- /app/dashboard/locations/_components/pricing.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/locations/_components/pricing.tsx -------------------------------------------------------------------------------- /app/dashboard/locations/_components/spot-address.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/locations/_components/spot-address.tsx -------------------------------------------------------------------------------- /app/dashboard/locations/_components/summary.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/locations/_components/summary.tsx -------------------------------------------------------------------------------- /app/dashboard/locations/edit/[locationid]/location-edit-form.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/locations/edit/[locationid]/location-edit-form.tsx -------------------------------------------------------------------------------- /app/dashboard/locations/edit/[locationid]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/locations/edit/[locationid]/page.tsx -------------------------------------------------------------------------------- /app/dashboard/locations/mapview/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/locations/mapview/page.tsx -------------------------------------------------------------------------------- /app/dashboard/locations/template.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/locations/template.tsx -------------------------------------------------------------------------------- /app/dashboard/locations/tileview/_components/location-card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/locations/tileview/_components/location-card.tsx -------------------------------------------------------------------------------- /app/dashboard/locations/tileview/_components/location-delete-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/locations/tileview/_components/location-delete-button.tsx -------------------------------------------------------------------------------- /app/dashboard/locations/tileview/_components/location-enable-switch.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/locations/tileview/_components/location-enable-switch.tsx -------------------------------------------------------------------------------- /app/dashboard/locations/tileview/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/locations/tileview/page.tsx -------------------------------------------------------------------------------- /app/dashboard/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/page.tsx -------------------------------------------------------------------------------- /app/dashboard/revenue/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/dashboard/revenue/page.tsx -------------------------------------------------------------------------------- /app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/favicon.ico -------------------------------------------------------------------------------- /app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/globals.css -------------------------------------------------------------------------------- /app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/layout.tsx -------------------------------------------------------------------------------- /app/sign-in/[[...sign-in]]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/sign-in/[[...sign-in]]/page.tsx -------------------------------------------------------------------------------- /app/sign-up/[[...sign-up]]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/app/sign-up/[[...sign-up]]/page.tsx -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components.json -------------------------------------------------------------------------------- /components/active-link.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/active-link.tsx -------------------------------------------------------------------------------- /components/address-autocomplete.input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/address-autocomplete.input.tsx -------------------------------------------------------------------------------- /components/banner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/banner.tsx -------------------------------------------------------------------------------- /components/cancel-booking-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/cancel-booking-button.tsx -------------------------------------------------------------------------------- /components/confirmation-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/confirmation-dialog.tsx -------------------------------------------------------------------------------- /components/date-select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/date-select.tsx -------------------------------------------------------------------------------- /components/edit-booking-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/edit-booking-button.tsx -------------------------------------------------------------------------------- /components/email-template.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/email-template.tsx -------------------------------------------------------------------------------- /components/footer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/footer.tsx -------------------------------------------------------------------------------- /components/map.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/map.tsx -------------------------------------------------------------------------------- /components/search-component.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/search-component.tsx -------------------------------------------------------------------------------- /components/search-form.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/search-form.tsx -------------------------------------------------------------------------------- /components/search-result.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/search-result.tsx -------------------------------------------------------------------------------- /components/sidebar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/sidebar.tsx -------------------------------------------------------------------------------- /components/time-select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/time-select.tsx -------------------------------------------------------------------------------- /components/timeline-ticks.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/timeline-ticks.tsx -------------------------------------------------------------------------------- /components/timeline.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/timeline.tsx -------------------------------------------------------------------------------- /components/ui/alert-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/ui/alert-dialog.tsx -------------------------------------------------------------------------------- /components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/ui/button.tsx -------------------------------------------------------------------------------- /components/ui/calendar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/ui/calendar.tsx -------------------------------------------------------------------------------- /components/ui/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/ui/card.tsx -------------------------------------------------------------------------------- /components/ui/dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/ui/dialog.tsx -------------------------------------------------------------------------------- /components/ui/dropdown-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/ui/dropdown-menu.tsx -------------------------------------------------------------------------------- /components/ui/form.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/ui/form.tsx -------------------------------------------------------------------------------- /components/ui/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/ui/input.tsx -------------------------------------------------------------------------------- /components/ui/label.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/ui/label.tsx -------------------------------------------------------------------------------- /components/ui/popover.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/ui/popover.tsx -------------------------------------------------------------------------------- /components/ui/progress.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/ui/progress.tsx -------------------------------------------------------------------------------- /components/ui/select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/ui/select.tsx -------------------------------------------------------------------------------- /components/ui/separator.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/ui/separator.tsx -------------------------------------------------------------------------------- /components/ui/sheet.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/ui/sheet.tsx -------------------------------------------------------------------------------- /components/ui/sonner.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/ui/sonner.tsx -------------------------------------------------------------------------------- /components/ui/switch.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/ui/switch.tsx -------------------------------------------------------------------------------- /components/ui/tabs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/ui/tabs.tsx -------------------------------------------------------------------------------- /components/violation-email-template.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/components/violation-email-template.tsx -------------------------------------------------------------------------------- /lib/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/lib/db.ts -------------------------------------------------------------------------------- /lib/stripe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/lib/stripe.ts -------------------------------------------------------------------------------- /lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/lib/utils.ts -------------------------------------------------------------------------------- /middleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/middleware.ts -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/next.config.mjs -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/package.json -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/postcss.config.mjs -------------------------------------------------------------------------------- /public/gateless-parking-mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/public/gateless-parking-mobile.png -------------------------------------------------------------------------------- /public/map-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/public/map-bg.png -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/public/next.svg -------------------------------------------------------------------------------- /public/parking_destination_tr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/public/parking_destination_tr.png -------------------------------------------------------------------------------- /public/parking_pin_tr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/public/parking_pin_tr.png -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/public/vercel.svg -------------------------------------------------------------------------------- /schemas/booking.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/schemas/booking.ts -------------------------------------------------------------------------------- /schemas/parking-locations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/schemas/parking-locations.ts -------------------------------------------------------------------------------- /store/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/store/index.ts -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/tailwind.config.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/tsconfig.json -------------------------------------------------------------------------------- /types/global.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/types/global.d.ts -------------------------------------------------------------------------------- /types/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/grepsoft/gatelessparking/HEAD/types/index.tsx --------------------------------------------------------------------------------