Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
314 commits
Select commit Hold shift + click to select a range
7766ffc
Merge pull request #11 from s4nkar/feature/adhi/venue-module
akhil1234A Jun 8, 2026
c65b66e
Merge branch 'main' of https://github.com/s4nkar/venue404 into bookin…
akhilanwar Jun 8, 2026
131cc60
Fix: pricing logic in venue service
akhilanwar Jun 8, 2026
8ffbd5d
Fix: add pricing quote in veneu scheme
akhilanwar Jun 8, 2026
4fbe02c
Fix: add missing validation and logic
akhilanwar Jun 8, 2026
d5efddb
Feat: Booking Module
akhilanwar Jun 8, 2026
714dc87
Fix: merge migration
akhilanwar Jun 8, 2026
c3ff1f1
feat: implement amenity management module
s4nkar Jun 8, 2026
17934b3
chore: gitignore
akhilanwar Jun 8, 2026
e13dbb1
feat: add admin amenities management frontend page with CRUD operatio…
s4nkar Jun 8, 2026
664bded
fix: venue module, amenity name uniqueness fix
s4nkar Jun 8, 2026
53676ca
fix: update real metrics in admin dashboard
s4nkar Jun 8, 2026
05e3974
feat: implement admin venue management with listing, approval, reject…
s4nkar Jun 8, 2026
3ad409c
feat: implement search fn in venue approval dashboard
s4nkar Jun 8, 2026
0858512
feat: implement complete admin audit log
s4nkar Jun 8, 2026
be55de4
fix: admin log name and id fix
s4nkar Jun 8, 2026
48cefd5
fix: amenities small text correction
s4nkar Jun 8, 2026
b3e637f
fix: admin dashboard icon change in activity feeds
s4nkar Jun 8, 2026
889b7aa
fix: critical bug fixes in admin module
s4nkar Jun 8, 2026
a82833f
Refactor: booking service
akhilanwar Jun 9, 2026
965bbeb
Merge pull request #12 from s4nkar/booking/init
s4nkar Jun 9, 2026
6df3e25
Merge branch 'main' into feature_sankar_superadmin
s4nkar Jun 9, 2026
e684b76
Merge pull request #13 from s4nkar/feature_sankar_superadmin
akhil1234A Jun 9, 2026
6d7ffff
Merge branch 'main' into feature_sankar_superadmin
s4nkar Jun 9, 2026
1fe92ad
feat: replace unique constraint on amenities name with partial index …
s4nkar Jun 9, 2026
6e824fe
docs: fix url path in README
s4nkar Jun 9, 2026
174c834
feat: initialize user-web application with Home, Login, and Register
s4nkar Jun 9, 2026
012eb0c
fix(ui): scaffold core UI components and page structures across user,…
s4nkar Jun 9, 2026
410702f
fix: auth post-login verification flows for owner and user portals
s4nkar Jun 9, 2026
6521c28
fix: login/registration style fix for owner and user portals
s4nkar Jun 9, 2026
c100931
Merge pull request #14 from s4nkar/feature_sankar_superadmin
akhil1234A Jun 10, 2026
c609056
feat: migrate admin routes with tanstack query
s4nkar Jun 10, 2026
d8c13ae
feat(venue-module): implement complete venue creation and configurati…
Adinathmk Jun 11, 2026
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
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
70 changes: 70 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
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 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
45 changes: 45 additions & 0 deletions .github/workflows/jobs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
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.
#
# hourly (0 * * * *) -> hold_expiry, payment_reminders
# 6-hourly (0 */6 * * *) -> request_expiry, overdue_flag, overdue_autocancel
# daily (0 0 * * *) -> completion
on:
schedule:
- 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"

jobs:
run:
runs-on: ubuntu-latest
steps:
- name: Select job set
id: select
run: |
case "${{ github.event.schedule }}" in
"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": "^5.3.0"
}
}
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} />
}
56 changes: 56 additions & 0 deletions apps/admin-panel/src/components/AdminLayout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
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,
} 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: '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