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.
Before You Begin
- Install Node.js 22+ and Git -- see Prerequisites
- Configure your API target (staging or local) -- see Environment Variables
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
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
For detailed deployment instructions, see the Web App Deployment guide.