Skip to main content

LessonsApp

LessonsApp is the lesson content management application for Lessons.church. It provides an interface for creating, organizing, and publishing church lesson curricula. Built with Next.js and React.

Prerequisites

  • Node.js 22+
  • Git
warning

LessonsApp requires Node.js 22 or later. Earlier versions are not supported.

Setup

1. Clone the repository

git clone https://github.com/ChurchApps/LessonsApp.git

2. Install dependencies

cd LessonsApp
npm install

3. Configure environment variables

Copy the environment sample file to .env and configure the API endpoints:

cp dotenv.sample.txt .env

Update the API endpoint URLs to point at either the staging API or your local API instance.

4. Start the dev server

npm run dev

The Next.js dev server launches at http://localhost:3501.

Key Commands

CommandDescription
npm run devStart Next.js dev server on port 3501
npm run buildProduction build via Next.js

Tech Stack

  • Next.js 16 with TypeScript
  • React 19 for UI components
  • @churchapps/apphelper* packages for shared components
note

LessonsApp communicates with the LessonsApi backend, which is a separate API from the main ChurchApps Api. Make sure your environment is configured with the correct Lessons API endpoint.

Deployment

Production builds are deployed to S3 + CloudFront:

  1. npm run build generates the optimized Next.js build
  2. Build output is synced to an S3 bucket
  3. CloudFront invalidation is triggered to serve the new version