LIVE
https://services.momentumchurch.dev/
CMS(Typescript + React)
https://services.momentumchurch.dev/dashboard
Backend built with Fiber for Android & iOS apps providing User, Meals, Semons, Payments & Transactions CRUD functionality, interacts with Stripe API to facilitate payments, Prisma as ORM to connect to a Postgres instance, and provides CRUD functionality. With, Redis for caching. Each v1 API route is protected with token authentication for each request sent a bearer token is required.
-
- Prisma ORM connects to Postgres DB
- Redis for Caching
- Fiber
-
- React
- React Query
- TailwindCSS
- React Router
React frontend is exposed in the backend, and react-router is used for in-app routing. Additionally, the backend does expose each in-app route and react-router handles mapping the route to its corresponding page
Prisma uses Postgres connection settings from DATABASE_URL and DIRECT_URL.
- Set
DATABASE_URLto your Neon pooled connection URL. - Set
DIRECT_URLto your Neon direct connection URL.
Then regenerate Prisma Go client after schema changes:
go run github.com/steebchen/prisma-client-go generate
To push schema changes to Neon:
npm run db:push-neon- or
npm run prisma:push
The API provides users to access, edit and upload content
Users are allowed to create accounts, retrieve, update, and delete their information.
This endpoint allows users to get their own information

This endpoint allows users to post user information

This endpoint allows users to update their own information

This endpoint allows users to delete their own information

Users are allowed to create transactions after making a payment, they view and delete transac
This endpoint allows users to post a transaction

This endpoint allows users to delete a transaction

This endpoint allows users to get their own transactions

Users are allowed to organize meals, a meal contains the receiver's contact, food preferences/allergies, dates to send the meals, and volunteers to bring meals
This endpoint allows users to fetch all meals available

This endpoint allows users to post a meal

This endpoint allows users to volunteer as a participant in a meal

Users are allowed to view sermons, they contain preacher and video playback metadata
This endpoint allows users to get sermons

Users are allowed to post payment information to initiate stripe checkoot
