How akshatthakur22/priya-sarv-utthan-ngo-webapp works
Priya Sarv Utthan Seva Sansthan is an NGO outreach and operations platform. Community members browse organizational content, donate, apply for jobs, or submit contact and support requests; staff review submissions in a protected admin portal. Donation flows create and verify Razorpay payments, then record donations and issue receipts. Job and intake flows validate submissions, persist records, and send notifications. The graph preserves documented events, SEO/content, and admin capabilities. Some links rely on README architecture or source-index references; unsampled implementations are not assumed to have been inspected.
Main entry points: email.ts Email delivery · jobs/route.ts Jobs API · database.ts PostgreSQL access · support/route.ts Support API
Components 29
Public outreach
- Public site
src/app - Events gallery
src/components/events/EventGallery.tsx - Events API
src/app/api/events/route.ts - Event service
src/services/event.service.ts - SEO metadata
src/app/sitemap.ts
Community intake
- Contact form
src/components/forms/ContactForm.tsx - Contact API
src/app/api/contact/route.ts - Contact service
src/services/contact.service.ts - Support intake
src/components/forms/LegalIntakeForm.tsx - Support API
src/app/api/support/route.ts - Careers portal
src/app/careers/CareersClient.tsx - Jobs API
src/app/api/jobs/route.ts - Job service
src/services/job.service.ts - Resume handling
src/lib/resume-storage.ts
Donations
- Donation checkout
src/app/donate/DonateClient.tsx - Payment routes
src/app/api/razorpay/order/route.ts - Payment service
src/services/payment.service.ts - Razorpay
- Receipt viewer
src/app/api/donation/receipt/[id]/route.ts - Receipt generation
src/lib/receipt-generator.ts - Receipt records
src/lib/receipt-storage.ts
Staff operations
- Admin dashboard
src/app/admin/page.tsx - Admin APIs
src/app/api/admin - Admin authentication
src/lib/admin-auth.ts
Shared services
- PostgreSQL access
src/lib/database.ts - Email delivery
src/lib/email.ts - Input validation
src/lib/validation.ts - Rate limiting
src/lib/rate-limit.ts
Other components
- Community members
Connections 45
- Community members → Public site: browse
README.md - Community members → Contact form: send inquiry
README.md - Community members → Support intake: request support
README.md - Community members → Careers portal: explore jobs
README.md - Community members → Donation checkout: contribute
README.md - Public site → Events gallery: show events
README.md - Public site → SEO metadata: publish metadata
README.md - Events gallery → Events API: fetch events
- Events API → Event service: delegates
src/app/api/events/route.ts - Contact form → Contact API: submit
- Contact API → Contact service: delegates
src/app/api/contact/route.ts - Contact service → PostgreSQL access: stores inquiry
src/services/contact.service.ts - Contact service → Email delivery: sends notice
src/services/contact.service.ts - Support intake → Support API: submit case
- Support API → PostgreSQL access: stores case
src/app/api/support/route.ts - Support API → Email delivery: alerts staff
src/app/api/support/route.ts - Careers portal → Jobs API: browse and apply
- Jobs API → Job service: delegates
src/app/api/jobs/route.ts - Jobs API → Resume handling: parses upload
src/app/api/jobs/route.ts - Jobs API → Email delivery: notifies staff
src/app/api/jobs/route.ts - Job service → PostgreSQL access: reads and writes
src/services/job.service.ts - Job service → Email delivery: confirms application
src/services/job.service.ts - Job service → Resume handling: uses resume data
src/services/job.service.ts - Donation checkout → Payment routes: start and verify
- Payment routes → Payment service: delegates
src/app/api/razorpay/order/route.ts - Payment service → Razorpay: creates and verifies
src/services/payment.service.ts - Payment service → PostgreSQL access: records donation
src/services/payment.service.ts - Payment service → Email delivery: issues receipt
README.md - Receipt viewer → Receipt generation: renders receipt
src/app/api/donation/receipt/[id]/route.ts - Receipt viewer → Receipt records: retrieves receipt
src/app/api/donation/receipt/[id]/route.ts - Email delivery → Receipt generation: builds receipt HTML
src/lib/email.ts - Email delivery → Receipt records: stores receipt
src/lib/email.ts - Admin dashboard → Admin APIs: manages records
README.md - Admin APIs → Admin authentication: checks credentials
src/app/api/admin/support-cases/route.ts - Admin APIs → PostgreSQL access: reads submissions
README.md - Admin APIs → Job service: manages applications
README.md - Contact API → Input validation: validates input
src/app/api/contact/route.ts - Support API → Input validation: validates input
src/app/api/support/route.ts - Jobs API → Input validation: validates input
src/app/api/jobs/route.ts - Payment routes → Input validation: validates input
src/app/api/razorpay/order/route.ts - Contact API → Rate limiting: limits requests
src/app/api/contact/route.ts - Support API → Rate limiting: limits requests
src/app/api/support/route.ts - Jobs API → Rate limiting: limits requests
src/app/api/jobs/route.ts - Payment routes → Rate limiting: limits requests
src/app/api/razorpay/order/route.ts - Event service → PostgreSQL access: reads events
src/services/event.service.ts