Welcome to Prayerloop Mobile! This repository, prayerloop-mobile, is the React Native client for Prayerloop. It provides a mobile interface for users to view prayers, join groups, and interact with the Prayerloop platform on iOS and Android devices. The app communicates with the Go-based prayerloop-backend API and leverages the PostgreSQL database setup from prayerloop-psql.
The Prayerloop platform is composed of three major repositories:
-
prayerloop-psql
Contains the PostgreSQL database schema, SQL scripts, and shell scripts for setup and migrations. -
prayerloop-backend
A Go-based server that provides RESTful API endpoints, handles authentication, and manages business logic. -
prayerloop-mobile (this repo)
A React Native mobile app that enables users to interact with Prayerloop, providing features such as user authentication, prayer creation, and group management.
- Cross-Platform Mobile App
Built using React Native (with Expo), the app runs on both iOS and Android devices. - User Authentication
Allows users to sign in, sign up, and manage their profiles by communicating with the backend API. - Prayer Management
View, create, and manage prayer entries, with intuitive UI components and smooth navigation. - Group Interaction
Join groups, view group prayers, and interact with other members of the Prayerloop community. - Real-Time Updates
Dynamic UI updates and notifications to keep users engaged with the latest prayer activity.
-
Node.js (v14 or higher recommended)
-
npm or yarn (latest stable version)
-
Expo CLI (install globally)
npm install --global expo-cli
-
A working installation of prayerloop-backend for API communication
- Clone the Repository
git clone https://github.com/zdelcoco/prayerloop-mobile.git cd prayerloop-mobile- Install Dependencies
Using npm or yarn:
npm installor
yarn install- Configure Environment Variables
The mobile app requires the API base URL to communicate with the backend. Create a .env file in the root directory (if not provided) and add:
API_BASE_URL=https://your-backend-url.comAdjust the URL to match your development or production backend endpoint.
- Run the App
Start the expo development server
npm startor
expo start- Navigation
The app provides tab-based navigation for quick access to prayer cards, user profiles, and groups. - Authentication
Users can log in or sign up directly within the app. Authentication tokens (JWT) are managed by the backend. - Prayer & Group Management
Create new prayers, view existing ones, join groups, and manage your profile easily through the intuitive UI.
-
To run tests (if available), use the following command:
npm test -
Refer to any provided documentation or test scripts for more details on running the test suite.
This repository follows a Git Flow branching strategy to maintain code quality and manage releases.
main- Production branch (auto-deploys to production)develop- Integration branch for ongoing developmentfeature/*- Feature branches (created fromdevelop)fix/*- Bug fix branches (created fromdevelop)release/*- Release candidate branches (created fromdevelop)
1. Working on Features/Fixes:
# Start from develop
git checkout develop
git pull origin develop
# Create feature branch
git checkout -b feature/your-feature-name
# Work, commit, push
git add .
git commit -m "Add your feature"
git push -u origin feature/your-feature-name
# Create Pull Request: feature/your-feature-name → develop
# Merge via GitHub UI after review2. Creating a Release:
# Create release branch from develop
git checkout develop
git pull origin develop
git checkout -b release/v0.0.2
# Bump version, final tweaks
# Update version in app.config.ts and package.json
git commit -m "Bump version to 0.0.2"
git push -u origin release/v0.0.2
# Create Pull Request: release/v0.0.2 → main
# Merge via GitHub UI (triggers production deployment)
# Tag the release
git checkout main
git pull origin main
git tag -a v0.0.2 -m "Release v0.0.2"
git push origin v0.0.2
# Merge back to develop
git checkout develop
git merge main
git push origin developmain- Requires pull request before merging (no direct pushes)develop- Requires pull request before merging (no direct pushes)
- Merging to
maintriggers automatic deployment to production - Use release branches to prepare and test before production deployment
- prayerloop-psql
PostgreSQL database schema scripts and migrations. - prayerloop-backend
Go-based backend API that handles authentication, business logic, and database interactions.
Contributions to prayerloop-mobile are welcome! Whether you’re fixing bugs, adding new features, or improving documentation, please open an issue or submit a pull request. For major changes, discuss them in an issue first to avoid duplication of effort.
This project is licensed under the MIT License.
- Issues & Support: Submit an issue or join our discussions for any questions or feedback.
- For more information on the overall project, see also: