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
| Command | Description |
|---|---|
npm run dev | Start Next.js dev server on port 3501 |
npm run build | Production 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:
npm run buildgenerates the optimized Next.js build- Build output is synced to an S3 bucket
- CloudFront invalidation is triggered to serve the new version