Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
347 commits
Select commit Hold shift + click to select a range
650aac9
feat: add notification and payment components
Alwinkunjachan Jun 11, 2026
7649058
Fix: write lock on get active venue
akhil1234A Jun 11, 2026
2097b4c
Merge branch 'main' into feature_alwin_main
Alwinkunjachan Jun 11, 2026
2276d39
Merge pull request #15 from s4nkar/feature_alwin_main
s4nkar Jun 11, 2026
aa4a7c6
Refactor booking status and payment status handling
Alwinkunjachan Jun 11, 2026
f6ffaa9
Merge pull request #16 from s4nkar/feature_alwin_main
s4nkar Jun 11, 2026
cf8b66d
Merge branch 'main' into feature_sankar_superadmin
s4nkar Jun 11, 2026
fef8ac8
Merge pull request #17 from s4nkar/feature_sankar_superadmin
akhil1234A Jun 12, 2026
468078c
Feat: Api for Calendar View
akhil1234A Jun 12, 2026
cf736da
Merge branch 'main' of https://github.com/s4nkar/venue404 into user/ui
akhil1234A Jun 12, 2026
db3f5a0
Feat: Booking Details, My Booking
akhil1234A Jun 12, 2026
1e65055
Chore: routes, api client update
akhil1234A Jun 12, 2026
42dd0b5
Feat: Home Page Api Integration
akhil1234A Jun 13, 2026
8f969fb
Chore: Tanstack query in Home Page - User View
akhil1234A Jun 13, 2026
6bf8a05
Feat: Venue Details page
akhil1234A Jun 13, 2026
900d8ec
Fix: update types
akhil1234A Jun 13, 2026
ce177ee
Feat: Checkout Page
akhil1234A Jun 13, 2026
d5720d1
Fix: time sloct issue
akhil1234A Jun 13, 2026
d97dcbd
Fix: venue galary update
akhil1234A Jun 13, 2026
45dca6d
chore: checkout ui update
akhil1234A Jun 13, 2026
784f3ba
chore: venue details ui update
akhil1234A Jun 13, 2026
42a132d
Fix: ist to utc
akhil1234A Jun 13, 2026
1ee053f
Fix: formating date in checkout
akhil1234A Jun 13, 2026
8b55366
Fix: remove duplicate logic of pricing
akhil1234A Jun 13, 2026
69b6f3a
Feat: Scrren for View Booking Page
akhil1234A Jun 13, 2026
d790e9c
Fix: add venue name, city, cover photo in bookingoutresponse
akhil1234A Jun 13, 2026
f130801
Feat: My Booking Page Screen
akhil1234A Jun 13, 2026
368a651
Feat: Mock Profile Screen
akhil1234A Jun 13, 2026
6c2789e
Merge pull request #18 from s4nkar/user/ui
s4nkar Jun 13, 2026
68e40f1
Fix: remove console logs
akhil1234A Jun 14, 2026
1330480
Refactor: extract navbar
akhil1234A Jun 14, 2026
0d43d80
Merge branch 'main' into feature/adhi/venue-module
Adinathmk Jun 14, 2026
0edc535
Refactor: Rename base_price_paise to starting_price_paise across venu…
Alwinkunjachan Jun 14, 2026
8bd94a5
Merge pull request #19 from s4nkar/feature_alwin_main
s4nkar Jun 14, 2026
b2be074
feat: add branding plugin and favicon support across applications
s4nkar Jun 14, 2026
6a9cbca
Merge branch 'main' into feature/adhi/venue-module
Adinathmk Jun 17, 2026
7387462
feat: add index.html entry point for owner-portal application
s4nkar Jun 17, 2026
d8fc6d1
feat: add FastAPI health endpoint
s4nkar Jun 17, 2026
4f11c7d
feat: add admin name in super admin seed
s4nkar Jun 17, 2026
ae1fa0b
fix: chnage venue browsing, booking management, and search UI compone…
s4nkar Jun 17, 2026
e0d957f
feat(venue): add comprehensive venue details, location picker, and ca…
Adinathmk Jun 17, 2026
8c38ec7
fix: update venue component page with latest ui
s4nkar Jun 17, 2026
5759690
fix: multi date calender and reservation card
s4nkar Jun 17, 2026
4313ae4
feat: implement venue reservation components including reserve card
s4nkar Jun 17, 2026
6a84c3b
feat: implement deep research card in filtering section
s4nkar Jun 17, 2026
afa2e24
Fix frontend bugs and UI inconsistencies in venue
Adinathmk Jun 17, 2026
d3b8f30
feat: implement venue discovery home page with grid layout and search…
s4nkar Jun 17, 2026
3280b72
fix: VenueGrid and VenueCard style fix
s4nkar Jun 17, 2026
75ecf52
Merge pull request #21 from s4nkar/feature/adhi/venue-module
s4nkar Jun 17, 2026
7d82d00
Merge branch 'main' into feature_sankar_superadmin
s4nkar Jun 17, 2026
6ae9a05
Merge pull request #20 from s4nkar/feature_sankar_superadmin
Adinathmk Jun 18, 2026
cac5aa9
Merge branch 'main' of https://github.com/s4nkar/venue404 into user/flow
akhil1234A Jun 18, 2026
ace83ab
fix: auth registration redirect bug fix
s4nkar Jun 18, 2026
92fba12
feat: implement venues categories with corresponding API endpoints an…
s4nkar Jun 18, 2026
b4d8225
feat: implement image resizer with storage configuration
s4nkar Jun 18, 2026
b22bd4e
fix: admin venue management ui fix
s4nkar Jun 18, 2026
805adb7
feat: implement admin view booking endpoints
s4nkar Jun 18, 2026
270c287
fix: admin dashboard and booking management ui fix
s4nkar Jun 18, 2026
27e9603
feat: add admin dashboard growth chart component
s4nkar Jun 18, 2026
47e7c5d
refactor: update booking status handling and improve payment logic.
Alwinkunjachan Jun 19, 2026
df16973
Merge pull request #22 from s4nkar/feature_sankar_superadmin
akhil1234A Jun 19, 2026
5d44708
Merge pull request #23 from s4nkar/feature_alwin_dev
akhil1234A Jun 19, 2026
a943fd0
Merge branch 'main' of https://github.com/s4nkar/venue404 into user/flow
akhil1234A Jun 19, 2026
821d1c7
Fix: selecting same day, start date < end date
akhil1234A Jun 20, 2026
80e8123
Fix: multi day pricing
akhil1234A Jun 20, 2026
dd37767
Fix: checkout page undefined error
akhil1234A Jun 20, 2026
82ed006
Fix: calendar bug - day shift
akhil1234A Jun 20, 2026
f5df406
Fix: cancellation logic update as per spec (include request, owner ac…
akhil1234A Jun 20, 2026
9f4f948
Fix: jobs configuring
akhil1234A Jun 20, 2026
00dbb91
Fix: balance due reminder job
akhil1234A Jun 20, 2026
a594e0b
Fix: logging
akhil1234A Jun 20, 2026
b204e1a
fix: payment/notification/jobs remediation + balance payment collection
Alwinkunjachan Jun 20, 2026
8c01f86
Feat: advance booking payment
akhil1234A Jun 20, 2026
ca24e48
chore(dev): rebuild api image on docker compose up
Alwinkunjachan Jun 21, 2026
c82c373
chore(migrations): drop obsolete hand-written balance-payment migration
Alwinkunjachan Jun 21, 2026
1b8f5aa
feat(booking,payment): configurable payment modes + exclusive owner a…
Alwinkunjachan Jun 21, 2026
47e0b1d
feat(migrations): add payment_mode and payment_type columns to bookin…
Alwinkunjachan Jun 21, 2026
050f411
Fi: commit transaction in jobs
akhil1234A Jun 21, 2026
fe6ddff
Revert "Fix: balance due reminder job"
akhil1234A Jun 21, 2026
69bc455
Revert "Fix: jobs configuring"
akhil1234A Jun 21, 2026
44d5323
feat(venue): implement atomic venue creation and cross-field frontend…
Adinathmk Jun 21, 2026
d973010
Merge pull request #24 from s4nkar/user/flow
Adinathmk Jun 21, 2026
c31aa05
Merge branch 'main' into feature/adhi/venue-module
Adinathmk Jun 21, 2026
87f5260
feat(venue):venue drfaaft tracking implemented
Adinathmk Jun 21, 2026
1676bfe
Merge pull request #27 from s4nkar/feature/adhi/venue-module
akhil1234A Jun 21, 2026
1684888
refactor(booking): streamline cancellation and payment handling, remo…
Alwinkunjachan Jun 21, 2026
f391269
Merge branch 'main' into feature_alwin_balance_payment
Alwinkunjachan Jun 21, 2026
616c7fd
Merge pull request #28 from s4nkar/feature_alwin_balance_payment
s4nkar Jun 21, 2026
d980cfd
feat: implement multi-step venue creation wizard with support for cus…
Adinathmk Jun 23, 2026
58b5e3b
feat: upgrade owner portal UX and resolve database migration conflicts
Adinathmk Jun 24, 2026
ea1578b
Merge pull request #29 from s4nkar/feature/adhi/venue-module
s4nkar Jun 24, 2026
57c55c0
Fix: payment advance and balance booking
akhil1234A Jun 27, 2026
0d31673
Fix: ui update
akhil1234A Jun 27, 2026
f5f0136
Fix: time slot bug
akhil1234A Jun 28, 2026
e321e5a
Fix: multi day booking
akhil1234A Jun 28, 2026
45b91c3
feat(owner-portal): overhaul booking UI, implement server-side filter…
Adinathmk Jun 29, 2026
ce8efac
Merge pull request #30 from s4nkar/user/flow
Alwinkunjachan Jun 29, 2026
ae83dbe
feat(notification): add NotificationType constants and template aliases
Alwinkunjachan Jun 29, 2026
f81bb2a
refactor(jobs): point manual entrypoint at app.jobs and remove bookin…
Alwinkunjachan Jun 29, 2026
66520d3
refactor(booking): route notifications through the notification service
Alwinkunjachan Jun 29, 2026
d57ac71
perf(jobs): add row locking, batching, soft-delete filter, and return…
Alwinkunjachan Jun 29, 2026
87d1ecc
refactor(booking): drop in-module payment handlers
Alwinkunjachan Jun 29, 2026
c3db332
feat(payment): add resilient cancel_payment_intent
Alwinkunjachan Jun 29, 2026
7254fe5
fix(booking): issue real refunds on cancellation via payment module
Alwinkunjachan Jun 29, 2026
744094c
refactor(booking): drop redundant advance-intent stub at accept
Alwinkunjachan Jun 29, 2026
57ff9a7
chore(booking): delete obsolete _stubs.py
Alwinkunjachan Jun 29, 2026
551626f
Merge pull request #31 from s4nkar/feature_alwin_balance_work
akhil1234A Jun 29, 2026
eddab8c
Fix: home page ui bugs
akhil1234A Jun 29, 2026
cc04c06
Merge branch 'main' of https://github.com/s4nkar/venue404 into user/flow
akhil1234A Jun 29, 2026
bc1673a
Merge pull request #32 from s4nkar/user/flow
Adinathmk Jun 29, 2026
43b510f
Merge branch 'main' into feature/adhi/venue-module
Adinathmk Jun 29, 2026
a9638c6
feat: refactored the owner booking page
Adinathmk Jun 29, 2026
f92d668
feat: implement owner financial stats endpoints and integrate with un…
Adinathmk Jun 29, 2026
2223b02
Merge pull request #33 from s4nkar/feature/adhi/venue-module
s4nkar Jun 29, 2026
263c0cb
Chore: ui calendar selection
akhil1234A Jun 30, 2026
444e83d
Merge branch 'main' of https://github.com/s4nkar/venue404 into user/flow
akhil1234A Jun 30, 2026
de1017b
Fix: map in venue details
akhil1234A Jun 30, 2026
aaf9f5e
perf: optimize DB queries for owner endpoints with eager loading and …
Adinathmk Jun 30, 2026
081954e
Merge pull request #34 from s4nkar/user/flow
Adinathmk Jun 30, 2026
c1a3160
Merge branch 'main' into feature/adhi/venue-module
Adinathmk Jun 30, 2026
50c46d2
feat(owner-portal): unify venue bookings UI and add net revenue to fi…
Adinathmk Jun 30, 2026
788fca8
chore: remove Fly.io config and GitHub Actions deploy workflows
Alwinkunjachan Jun 30, 2026
7a63171
ci: stop running database migrations in CI
Alwinkunjachan Jun 30, 2026
0fd1819
feat(api): make the API deployable on Render
Alwinkunjachan Jun 30, 2026
c903f07
feat(api): add token-guarded endpoint to run background jobs
Alwinkunjachan Jun 30, 2026
eed735d
ci: add Render blueprint and job-scheduling workflows
Alwinkunjachan Jun 30, 2026
f3c2e56
test: align tests with current booking, pricing, and email APIs
Alwinkunjachan Jun 30, 2026
b9cfc4e
docs: document Render + Vercel deployment and background jobs
Alwinkunjachan Jun 30, 2026
00972d7
feat: integrate owner ledger endpoints and refine payment status indi…
Adinathmk Jun 30, 2026
3338c13
Merge pull request #35 from s4nkar/feature_vercel_renderer
s4nkar Jun 30, 2026
0606052
Merge pull request #36 from s4nkar/feature/adhi/venue-module
s4nkar Jun 30, 2026
e29b39f
fix(ui): remove unused imports that broke the build
Alwinkunjachan Jun 30, 2026
0817a79
fix(web): declare static-asset modules for app type-checking
Alwinkunjachan Jun 30, 2026
16c67aa
fix(owner-portal): resolve TypeScript build errors
Alwinkunjachan Jun 30, 2026
7fcf96d
fix(user-web): remove unused locals blocking the build
Alwinkunjachan Jun 30, 2026
1a66dec
build(eslint): load the flat config as ESM
Alwinkunjachan Jun 30, 2026
97dc1c6
ci: make lint advisory so build is the merge gate
Alwinkunjachan Jun 30, 2026
e3b40f2
docs(deploy): document the CI merge gate and branch protection
Alwinkunjachan Jun 30, 2026
38a4685
fix(config): update frontend base URL and CORS origins for production
Alwinkunjachan Jun 30, 2026
f1ceb3d
Merge pull request #37 from s4nkar/feature_vercel_renderer
s4nkar Jun 30, 2026
d883708
feat: implement semantic search and queue for search indexing
s4nkar Jun 30, 2026
412468d
Merge branch 'main' into feature_sankar_cleanup
s4nkar Jun 30, 2026
0551f89
fix: react minor bug fixes in owner module
s4nkar Jun 30, 2026
128a654
feat: configure alembic environment and add database migrations for v…
s4nkar Jun 30, 2026
90018c1
feat: initialize pyproject.toml configuration for api app
s4nkar Jun 30, 2026
60477be
fix: CI test fix + workflows for background job scheduling
s4nkar Jul 1, 2026
a3638b2
test: add integration test suite for authentication and booking workf…
s4nkar Jul 1, 2026
7118b05
test: add integration and unit tests for admin immutability, booking …
s4nkar Jul 1, 2026
a1ef75f
fix: lint error typescript-eslint no-explicit-any rule
s4nkar Jul 1, 2026
74c7cef
fix: lint type fix across 3 apps
s4nkar Jul 1, 2026
912b671
feat: generate type from api-client package via openapi-typescript
s4nkar Jul 1, 2026
f529dd5
Merge pull request #38 from s4nkar/feature_sankar_cleanup
akhil1234A Jul 1, 2026
1818739
Fix: hybrid search internal servor error
akhil1234A Jul 2, 2026
cb77dec
Fix: scripts
akhil1234A Jul 2, 2026
e42af28
Refactor: separate embeddind, jina api and call search indexer
akhil1234A Jul 2, 2026
516c8e3
fix:owner query optimastion
Adinathmk Jul 2, 2026
47dbd89
feat: implement owner dashboard
Adinathmk Jul 2, 2026
dc98e07
Fix: configurable vector threshold
akhil1234A Jul 2, 2026
fc55a38
Chore: frontend integration semantic search
akhil1234A Jul 2, 2026
c2e6de3
Chore: env example update
akhil1234A Jul 2, 2026
97ae222
Feat: add search metadata columns and caching for venue categories
akhil1234A Jul 2, 2026
3366f75
Merge pull request #40 from s4nkar/user/search
Adinathmk Jul 2, 2026
eaf2d12
fix:api optimsation and dashboard api changes
Adinathmk Jul 2, 2026
30bc005
Merge branch 'main' into feature/adhi/venue-module
Adinathmk Jul 2, 2026
0308d4c
Merge pull request #41 from s4nkar/feature/adhi/venue-module
s4nkar Jul 2, 2026
5d8e690
refactor: migrate application-specific .env.example files
s4nkar Jul 2, 2026
091b658
fix: auth owner registration page with duplicate account handling
s4nkar Jul 2, 2026
30f1937
docs: add architectural specification and phased implementation plan …
s4nkar Jul 2, 2026
f45de7e
feat: implement dynamic pricing engine and core venue/booking modules
s4nkar Jul 3, 2026
791d63c
feat: implement booking system backend schemas and services with asso…
s4nkar Jul 3, 2026
b528f09
Resolve Merge conflit from feature_sankar_cleanup to main
s4nkar Jul 3, 2026
bf24a84
feat: dynamic pricing model with venue rules table
s4nkar Jul 3, 2026
163a979
Merge pull request #42 from s4nkar/feature_sankar_cleanup
akhil1234A Jul 4, 2026
b2505c2
feat: implement venue pricing rule management and configuration UI fo…
Adinathmk Jul 4, 2026
8fd689b
fix:venue owner ui upgrade
Adinathmk Jul 4, 2026
1c12289
Merge pull request #43 from s4nkar/feature/adhi/venue-module
akhil1234A Jul 5, 2026
953057c
fix: GrowthChart component value change in admin panel
s4nkar Jul 5, 2026
c8b65aa
feat: add environment variable template for API configuration
s4nkar Jul 5, 2026
674a180
feat: implement Deep Research query understanding module and user-fac…
s4nkar Jul 5, 2026
0270db0
feat: implement deep research search module with database schemas and…
s4nkar Jul 5, 2026
26844dc
feat: implement Groq-backed query understanding and Jina AI embedding…
s4nkar Jul 5, 2026
fff7f41
Merge pull request #44 from s4nkar/feature_sankar_deep_research
Adinathmk Jul 5, 2026
c457860
fix:owner ui change
Adinathmk Jul 5, 2026
f6faf66
Fix: remove model availability
akhil1234A Jul 5, 2026
e8ebc55
feat:external venues model
Adinathmk Jul 5, 2026
254883a
feat:external venue models
Adinathmk Jul 5, 2026
a8db474
feat:refactored the external venue tables
Adinathmk Jul 5, 2026
244cb1e
Merge pull request #46 from s4nkar/feature/adhi/venue-module
s4nkar Jul 5, 2026
ae96d33
feat: implement match diagnostic citation in deep research
s4nkar Jul 6, 2026
407380e
feat: implement deep research admin insights module with API endpoint…
s4nkar Jul 6, 2026
bde2a3f
Merge branch 'main' into feature_sankar_deep_research
s4nkar Jul 6, 2026
c31f164
feat: add slots table, update deep_research_queries schema, and clean…
s4nkar Jul 6, 2026
721e0ff
feat: implement admin dashboard modules including schemas, services, …
s4nkar Jul 6, 2026
96a3d05
fix: Pydantic schemas for admin module operations and reporting
s4nkar Jul 6, 2026
cb2ccde
feat: implement external discovery via Google Places
Adinathmk Jul 6, 2026
44d579a
Merge pull request #47 from s4nkar/feature_sankar_deep_research
Adinathmk Jul 6, 2026
7bdf4f4
Merge branch 'main' into feature/adhi/venue-module
Adinathmk Jul 6, 2026
0bd51b5
feat(deep-research): implement external venue discovery and user rese…
Adinathmk Jul 6, 2026
0296f9f
fix:navigation change after venue requesting
Adinathmk Jul 6, 2026
43f0b16
feat(venue): implement user venue likes and saved venues page
Adinathmk Jul 6, 2026
39c7521
fix(venue likes):ui bug
Adinathmk Jul 6, 2026
5822a72
fix(external venue):Droped Jobs and use async flow
Adinathmk Jul 6, 2026
9ac35c9
Feat: instant booking
akhil1234A Jul 6, 2026
06f38ff
Chore: Notification UI
akhil1234A Jul 6, 2026
c252bad
Merge branch 'main' of https://github.com/s4nkar/venue404 into instan…
akhil1234A Jul 6, 2026
c410919
Fix: migration fix
akhil1234A Jul 6, 2026
ec5538e
Merge pull request #48 from s4nkar/feature/adhi/venue-module
s4nkar Jul 7, 2026
6f1fbb2
Merge branch 'main' into instant_booking
s4nkar Jul 7, 2026
2b461f9
Merge pull request #49 from s4nkar/instant_booking
s4nkar Jul 7, 2026
075de29
feat: implement theme provider and navbar component with dark mode su…
s4nkar Jul 7, 2026
0603659
feat: implement dark mode in user web
s4nkar Jul 7, 2026
c3c7161
feat: implement image validation for venue
s4nkar Jul 7, 2026
6799934
fix: auth user rba bug fix
s4nkar Jul 7, 2026
40cdf14
feat: dark mode in core user portal pages
s4nkar Jul 7, 2026
f221348
fix: text brand color fix in page sections
s4nkar Jul 7, 2026
2b24f03
fix: DeepResearch tracking progress color fix
s4nkar Jul 7, 2026
8a7fdbd
Merge pull request #50 from s4nkar/sankar_feature_theme
Adinathmk Jul 7, 2026
37a1987
feat: add custom exception classes, Upstash-backed rate limiting, and…
s4nkar Jul 7, 2026
ce1fdbb
feat: add DeepResearch beta limit text
s4nkar Jul 7, 2026
f9663b6
Merge branch 'main' into sankar_feature_theme
s4nkar Jul 7, 2026
ff8f102
docs: add product requirements document for external reservation onbo…
s4nkar Jul 7, 2026
4f956aa
feat: implement admin external venue and owner onboarding
s4nkar Jul 7, 2026
9765d2d
feat: implement password recovery and reset flows across user and own…
s4nkar Jul 7, 2026
27e1f3b
feat: implement modal based login/reg
s4nkar Jul 7, 2026
a9a3e69
fix: UserReservations component card border fix
s4nkar Jul 7, 2026
ff93868
fix: fix SupabaseAuthProvider verification and user invitations
s4nkar Jul 7, 2026
a00fe6d
feat: implement admin management owner onboarding
s4nkar Jul 7, 2026
fac92d1
Fix: payment bug fix
akhil1234A Jul 8, 2026
e110684
feat:implemented dark mode in owner ui
Adinathmk Jul 8, 2026
33f6ee8
Fix: availability time slot bug
akhil1234A Jul 8, 2026
91e2835
Merge branch 'main' of https://github.com/s4nkar/venue404 into user-r…
akhil1234A Jul 8, 2026
f22dc90
fix: add banner in External Reservations page for lead management and…
s4nkar Jul 8, 2026
98c3475
feat: implement Redis caching across 4 modules
s4nkar Jul 8, 2026
4fc7f71
fix: DeepResearch breakdown detail fix
s4nkar Jul 8, 2026
56a4f4e
feat: implement admin service notification layer for venue management…
s4nkar Jul 8, 2026
be8f5df
feat: implement asynchronous background job system and automated book…
s4nkar Jul 9, 2026
38a58cd
fix: stripe payment dark ui style fix
s4nkar Jul 9, 2026
3a2e072
fix: BookingCard duplicate button fix
s4nkar Jul 9, 2026
f0ab190
Merge pull request #51 from s4nkar/sankar_feature_theme
akhil1234A Jul 9, 2026
1da6df0
Merge branch 'main' of https://github.com/s4nkar/venue404 into user-r…
akhil1234A Jul 9, 2026
7711ac3
fix(owner ):Booking ui change
Adinathmk Jul 9, 2026
3b1e768
Merge branch 'main' into feature/adhi/venue-module
Adinathmk Jul 9, 2026
975e95d
Feat: Reviews
akhil1234A Jul 9, 2026
ec3e627
Merge pull request #52 from s4nkar/user-reviews
Adinathmk Jul 9, 2026
02ed18c
Merge branch 'main' into feature/adhi/venue-module
Adinathmk Jul 9, 2026
5b7e2b0
feat(booking mode):add booking mode in owner side
Adinathmk Jul 9, 2026
39e0b3f
fix:fixed the lint issues
Adinathmk Jul 9, 2026
ac41136
fix:lint errors
Adinathmk Jul 9, 2026
bcc7da7
fix: resolve typescript build errors, fix github actions python env, …
Adinathmk Jul 9, 2026
c910ab6
Merge pull request #53 from s4nkar/feature/adhi/venue-module
s4nkar Jul 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
node_modules
dist/
.env
__pycache__/
.venv/
*.pyc
12 changes: 12 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false
73 changes: 73 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: CI

on:
pull_request:
push:
branches: [main]

jobs:
frontend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 9
- uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: Lint
run: pnpm lint
- name: Build (tsc type-check + vite build — the merge gate)
run: pnpm build
- name: Security audit
run: pnpm audit --audit-level=high

api:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16
env:
POSTGRES_USER: user
POSTGRES_PASSWORD: pass
POSTGRES_DB: venue404
ports:
- 5432:5432
options: >-
--health-cmd="pg_isready -U user -d venue404"
--health-interval=10s
--health-timeout=5s
--health-retries=5
env:
DATABASE_URL: postgresql://user:pass@localhost:5432/venue404
SUPABASE_URL: https://example.supabase.co
SUPABASE_JWT_SECRET: test-secret
SUPABASE_SERVICE_ROLE_KEY: test-service-role
STRIPE_SECRET_KEY: sk_test_dummy
STRIPE_WEBHOOK_SECRET: whsec_dummy
defaults:
run:
working-directory: apps/api
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v4
with:
enable-cache: true
cache-dependency-glob: "apps/api/pyproject.toml"
python-version: "3.12"
- name: Install dependencies
run: |
uv venv
echo "$PWD/.venv/bin" >> $GITHUB_PATH
uv pip install -e ".[dev]"
- name: Lint
run: ruff check .
- name: Migrate
run: alembic upgrade head
- name: Tests
run: pytest -q
- name: Security audit
run: uvx pip-audit
48 changes: 48 additions & 0 deletions .github/workflows/jobs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Background Jobs

# Triggers the API's background jobs at their original cadences by calling the
# token-guarded POST /api/internal/run-jobs endpoint. The in-process scheduler
# stays off (ENABLE_JOBS=false) so the free Render service can sleep.
#
# 15-min (*/15 * * * *) -> invoice_generator, payment_pending_expiry
# hourly (0 * * * *) -> hold_expiry, payment_reminders, search_indexer
# 6-hourly (0 */6 * * *) -> request_expiry, overdue_flag, overdue_autocancel
# daily (0 0 * * *) -> completion
on:
schedule:
- cron: "*/15 * * * *"
- cron: "0 * * * *"
- cron: "0 */6 * * *"
- cron: "0 0 * * *"
workflow_dispatch:
inputs:
jobs:
description: "Comma-separated job names to run"
required: true
default: "hold_expiry,payment_reminders,request_expiry,overdue_flag,overdue_autocancel,completion,search_indexer,invoice_generator,payment_pending_expiry"

jobs:
run:
runs-on: ubuntu-latest
steps:
- name: Select job set
id: select
run: |
case "${{ github.event.schedule }}" in
"*/15 * * * *") JOBS="invoice_generator,payment_pending_expiry" ;;
"0 * * * *") JOBS="hold_expiry,payment_reminders,search_indexer" ;;
"0 */6 * * *") JOBS="request_expiry,overdue_flag,overdue_autocancel" ;;
"0 0 * * *") JOBS="completion" ;;
*) JOBS="${{ github.event.inputs.jobs }}" ;;
esac
echo "jobs=$JOBS" >> "$GITHUB_OUTPUT"
echo "Running jobs: $JOBS"

- name: Warm up (ride out free-tier cold start)
run: curl -fsS --max-time 90 --retry 5 --retry-all-errors --retry-delay 12 "${{ secrets.API_BASE_URL }}/health"

- name: Trigger jobs
run: |
curl -fsS --max-time 300 -X POST \
-H "X-Job-Token: ${{ secrets.JOB_RUNNER_TOKEN }}" \
"${{ secrets.API_BASE_URL }}/api/internal/run-jobs?jobs=${{ steps.select.outputs.jobs }}"
19 changes: 19 additions & 0 deletions .github/workflows/keepalive.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Keepalive

# Pings the API /health every 13 minutes so Render's free web service does not
# spin down (it sleeps after ~15 min idle). GitHub Actions cron is best-effort.
#
# NOTE: on a PRIVATE repo this consumes ~3,300 Actions minutes/month and will
# exceed the 2,000-min free budget — use a free external pinger (UptimeRobot /
# cron-job.org) instead. On a PUBLIC repo, Actions minutes are free.
on:
schedule:
- cron: "*/13 * * * *"
workflow_dispatch:

jobs:
ping:
runs-on: ubuntu-latest
steps:
- name: Ping /health
run: curl -fsS --max-time 60 --retry 3 --retry-delay 10 "${{ secrets.API_BASE_URL }}/health"
44 changes: 44 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# ---- Dependencies ----
node_modules/
.venv/
*.egg-info/

# ---- Build output ----
dist/
build/
*.tsbuildinfo

# ---- Environment secrets ----
.env
.env.local
.env.*.local

# ---- Python runtime ----
__pycache__/
*.py[cod]
*.pyo

# ---- Test & coverage ----
.pytest_cache/
.mypy_cache/
.ruff_cache/
htmlcov/
.coverage
coverage.xml

# ---- Editor & OS ----
.vscode/
.idea/
*.swp
.DS_Store
Thumbs.db

# ---- Misc ----
prd.txt
auth-prd.md
.claude/
claude.md
/prds

.akhil
self/
7 changes: 7 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"semi": false,
"singleQuote": true,
"tabWidth": 2,
"trailingComma": "es5",
"printWidth": 100
}
7 changes: 7 additions & 0 deletions apps/admin-panel/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Supabase (browser client - anon key only)
VITE_SUPABASE_URL=https://your-project-ref.supabase.co
VITE_SUPABASE_ANON_KEY=your-supabase-anon-key

# FastAPI backend
VITE_API_BASE_URL=http://localhost:8000
VITE_STRIPE_PUBLISHABLE_KEY=
16 changes: 16 additions & 0 deletions apps/admin-panel/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<!doctype html>
<html lang="en">

<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="icon" type="image/png" href="/favicon.png" />
<title>Venue404 | Admin</title>
</head>

<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>

</html>
33 changes: 33 additions & 0 deletions apps/admin-panel/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"name": "@venue404/admin-panel",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite --port 5399",
"build": "tsc && vite build",
"lint": "eslint src",
"preview": "vite preview"
},
"dependencies": {
"@tailwindcss/vite": "^4.3.0",
"@tanstack/react-query": "^5.101.0",
"@venue404/api-client": "workspace:*",
"@venue404/ui": "workspace:*",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"lucide-react": "^1.17.0",
"react": "^18.3.0",
"react-dom": "^18.3.0",
"react-router-dom": "^6.23.0",
"recharts": "^3.8.1",
"tailwind-merge": "^3.6.0",
"tailwindcss": "^4.3.0"
},
"devDependencies": {
"@types/react": "^18.3.0",
"@types/react-dom": "^18.3.0",
"@vitejs/plugin-react": "^4.3.0",
"vite": "^8.1.3"
}
}
6 changes: 6 additions & 0 deletions apps/admin-panel/src/App.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { RouterProvider } from 'react-router-dom'
import { router } from './routes'

export default function App() {
return <RouterProvider router={router} />
}
57 changes: 57 additions & 0 deletions apps/admin-panel/src/components/AdminLayout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import { useNavigate, useLocation } from 'react-router-dom'
import { useAuth } from '../lib/AuthContext'
import { AppShell, Logo, type NavItemConfig } from '@venue404/ui'
import {
LayoutDashboard, Building2, Users, UserCheck,
CalendarDays, ClipboardList, Settings, Sparkles, LayoutGrid, Search, PhoneCall,
} from 'lucide-react'

const NAV: NavItemConfig[] = [
{ label: 'Dashboard', href: '/dashboard', icon: <LayoutDashboard className="h-4 w-4" /> },
{ label: 'Venue Approvals', href: '/venues/pending', icon: <Building2 className="h-4 w-4" /> },
{ label: 'Users', href: '/users', icon: <Users className="h-4 w-4" /> },
{ label: 'Venue Owners', href: '/owners', icon: <UserCheck className="h-4 w-4" /> },
{ label: 'Amenities', href: '/amenities', icon: <Sparkles className="h-4 w-4" /> },
{ label: 'Categories', href: '/categories', icon: <LayoutGrid className="h-4 w-4" /> },
{ label: 'Bookings', href: '/bookings', icon: <CalendarDays className="h-4 w-4" /> },
{ label: 'External Reservations', href: '/external-reservations', icon: <PhoneCall className="h-4 w-4" /> },
{ label: 'Deep Research', href: '/deep-research-insights', icon: <Search className="h-4 w-4" /> },
{ label: 'Audit Log', href: '/audit-log', icon: <ClipboardList className="h-4 w-4" /> },
{ label: 'Settings', href: '/settings', icon: <Settings className="h-4 w-4" /> },
]

type AdminLayoutProps = {
pageTitle: string
pageSubtitle?: string
children: React.ReactNode
}

export function AdminLayout({ pageTitle, pageSubtitle, children }: AdminLayoutProps) {
const { user, signOut } = useAuth()
const navigate = useNavigate()
const location = useLocation()

async function handleSignOut() {
await signOut()
navigate('/login', { replace: true })
}

return (
<AppShell
navItems={NAV}
activePath={location.pathname}
onNavigate={navigate}
pageTitle={pageTitle}
pageSubtitle={pageSubtitle}
brand={<Logo variant="dark" />}
user={user ? {
name: user.profile.full_name ?? user.email ?? 'Admin',
email: user.email ?? '',
role: 'Super Admin',
} : undefined}
onSignOut={handleSignOut}
>
{children}
</AppShell>
)
}
Loading