Skip to content

AlphaHasher/ChurchLink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“Œ Overview

ChurchLink is a web and mobile platform designed to help churches manage their content, events, and community interactions. The project includes a web builder that allows church staff to create and update pages, add banners, post announcements, and engage with members through an easy-to-use interface.

🎯 Features

  • Simple Page Template System – Create and edit church pages using pre-designed templates.
  • Custom CMS System – Manage content dynamically without coding.
  • Event Management – Create and promote church events.
  • Form Builder - Create forms and collect user submissions
  • User Roles & Permissions – Secure access control for admins, editors, and members.
  • Mobile App Support – Native mobile app built with Flutter.
  • Mobile Notifications – Send push notifications for announcements, events, and updates.
  • Bible on Mobile – Access and read the Bible within the app with an admin manadged Bible reading plan and note taking/highlighting captabilties.
  • Announcements & Bulletins – Display church updates and messages.
  • Donation & Payment Integration – Support for online giving via PayPal. See PayPal Setup Guide for configuration.
  • Multilingual Support – Accessibility for diverse church communities.

🏦 PayPal Integration Setup

For detailed PayPal integration setup instructions, see our comprehensive guide: πŸ“– PayPal Setup Guide

(some images are zoomed out a great deal to show their full features - since they didn't fit in the screenshot)

πŸ“‹ Admin Interface, Users View

image

πŸ“‹ Admin Interface, Creating a new Permission Role

image

πŸ“‹ Admin Interface, Creating a new Event

image

πŸ”¨ Web Builder, Page View

image

πŸ”¨ Web Builder, Header Item Creation

πŸŽ₯ Media Library

πŸ‘€ Login Popup

Login

πŸ’» Web Example

image

πŸ“± Mobile App

image image image image

πŸ› οΈ Tech Stack

  • Frontend:

    • Flutter (Mobile App via the Dart Language)
    • React (Vite + React + TS + Tailwind CSS)
  • Backend:

    • FaspAPI (Server via the Python Language)
  • Database:

    • MongoDB
  • Notifications:

    • Firebase Cloud Messaging (FCM)
  • Bible Integration:

  • Authentication:

    • Firebase Auth
  • Payments:

    • PayPal

Ensure you have the following installed:

Steps

  1. Clone the Repository

    git clone https://github.com/YOUR_GITHUB/ChurchLink.git
    cd ChurchLink
  2. Install Dependencies in the followig direcotires

    • backend/
    • frontend/web/churchlink
    • frontend/app
  3. Set Up Environment Variables in all direcotires from step 2

  4. Run the Web Frontend (React)

cd frontend/web
npm run build && npm run preview
  1. Run the Mobile App (Flutter)
cd frontend/app
flutter run
  1. Run the Backend (If applicable in the future)
cd backend
uv run main.py
  1. Access the Application β€’ Web App: http://localhost:3000 β€’ Mobile App: (Run on emulator or physical device)

πŸ”” Mobile Notifications

ChurchLink supports push notifications to keep church members informed about announcements, upcoming events, and other important updates.

  • Uses Firebase Cloud Messaging (FCM) for push notifications.
  • Admins can send notifications from the CMS.
  • Users can opt-in or opt-out of notifications in their settings.

πŸ“– Bible on Mobile

ChurchLink will support an integrated Bible feature in the future, allowing users to:

  • Read the full Bible within the app.
  • Take notes and highlight passages
  • Follow Bible reading plan

πŸ’³ Donations & Payments

ChurchLink supports online donations through PayPal, allowing churches to accept tithes and offerings digitally.

  • Integrated with PayPal API for secure transactions.
  • Allows one-time or recurring donations.

βš™οΈ Permissions Currently Implemented

ChurchLink supports permissions implemented by the means of user-defined permission roles. Some of these permissions are directly integrated into Strapi, for a seamless transition from ChurchLink provided utilities to Strapi itself. Below is the list of permissions that can be implemented into these roles, that have fully been implemented as working.

  • admin: Allows the user to have complete permissions access. Only able to be granted to default Administrator role. Allows for creation/edit/deletion of roles with permissions_management perm.

  • permissions_management: Allows this user to be able to create/edit/delete/assign roles. Special rule: These users cannot edit roles with the admin or permissions management permissions. These users cannot change permissions they do not already explicitly have permissions for.

  • event_editing: Allows this user to be able to create/edit/delete events. Special rule: This role becomes available now to be used in the "lock" model for Events, at least ONE of these Role Types is necessary to create events, these roles are the ONLY ones that can be assigned to events.

  • event_management: Allows this user to be able to create/edit/delete ALL events regardless if they have the proper "keys" for the event "locks". event_management or admin is required in order to be able to edit the "locks" of pre-existing events. Reasoning why this is restricted to event managers is because if event editors could modify the locks, a massive headache would occur in multi-lock event systems when different users don't have ALL locks. Best to avoid them kicking eachother off, or editing roles they don't have access to.

  • media_management: Allows this user to be able to upload/edit/delete media content in the Strapi Dashboard


πŸ“Š Database Design

Below is a comprehensive overview of the planned MongoDB Database integration

image

image

image

image


πŸ“œ License

This project is licensed under the MIT License – see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 9