Sevenfold is a web application built with Next.js, Auth0, and Material UI to help organizations manage member information and track financial transactions. This project was inspired by a partnership with New Mount Zion Missionary Baptist Church of Seminola, based in Hialeah, Florida.
- Secure Login with Auth0
- Manage Members (Create, Edit, & Sort)
- Group Management
- Track Transactions (Donations & Expenses)
- Data Exporting (CSV)
- Node.js (v18.17 or later)
- npm (v10 or later)
- Create a Regular Web Application in the Auth0 Dashboard: https://manage.auth0.com/#/applications
- Set up Callback and Logout URLs in the application settings:
- Allowed Callback URLs:
http://localhost:3000/api/auth/callback
- Allowed Logout URLs:
http://localhost:3000/
- Allowed Callback URLs:
- Record your Client ID, Client Secret, and Domain from the "Basic Information" section.
- Clone the repository:
git clone git@github.com:RadiantRealms/sevenfold.git
- Navigate to the project directory:
cd sevenfold
- Install dependencies:
npm install
- Create a PostgreSQL database.
- Create a
.env
file in the root directory with the following variables (replace placeholders):
AUTH0_BASE_URL=http://localhost:3000
AUTH0_CLIENT_ID=<your-auth0-client-id>
AUTH0_CLIENT_SECRET=<your-auth0-client-secret>
AUTH0_ISSUER_BASE_URL=<your-auth0-issuer-base-url>
AUTH0_SECRET=<generate-a-secure-secret>
POSTGRES_PRISMA_URL=<your-postgres-database-url>
POSTGRES_URL_NON_POOLING=<your-postgres-non-pooling-url>
You can create a secret on the command line via this openssl command:
openssl rand -base64 32
npm run dev
Open http://localhost:3000 in your web browser.
Notes:
- New user registrations are placed in the "Sandbox" organization by default.
- Plaid integration is a planned feature.
Sources: