Starting over
This commit is contained in:
101
README.md
101
README.md
@@ -1,101 +0,0 @@
|
||||
# New Life Christian Church Sermon Management System
|
||||
|
||||
A Nuxt 4 application for managing and displaying church sermons with authentication and QR code generation.
|
||||
|
||||
## Features
|
||||
|
||||
- **Sermon Management**: Create, view, and manage sermons with Bible references, personal applications, and pastor's challenges
|
||||
- **Authentication**: Secure admin login for sermon creation
|
||||
- **Responsive Design**: Built with NuxtUI for a modern, mobile-friendly interface
|
||||
- **QR Codes**: Auto-generated QR codes for each sermon linking to the sermon page
|
||||
- **SQLite Database**: Lightweight, file-based database for sermon storage
|
||||
- **Docker Ready**: Complete containerization for easy deployment
|
||||
|
||||
## Quick Start
|
||||
|
||||
1. **Clone and setup**:
|
||||
```bash
|
||||
git clone <repository-url>
|
||||
cd nlcc-sermons
|
||||
npm install
|
||||
```
|
||||
|
||||
2. **Run locally**:
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
3. **Build for production**:
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
4. **Deploy with Docker**:
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## Environment Variables
|
||||
|
||||
Create a `.env` file or set these environment variables:
|
||||
|
||||
- `JWT_SECRET`: Secret key for JWT token generation (change in production!)
|
||||
- `ADMIN_PASSWORD`: Default admin password (default: admin123)
|
||||
|
||||
## Default Login
|
||||
|
||||
- **Username**: admin
|
||||
- **Password**: admin123 (or set via ADMIN_PASSWORD)
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
├── server/
|
||||
│ ├── api/ # API routes
|
||||
│ │ ├── auth/ # Authentication endpoints
|
||||
│ │ └── sermons/ # Sermon management endpoints
|
||||
│ └── utils/ # Database and auth utilities
|
||||
├── components/ # Vue components
|
||||
├── pages/ # Nuxt pages
|
||||
├── public/ # Static assets
|
||||
└── data/ # SQLite database location
|
||||
```
|
||||
|
||||
## API Endpoints
|
||||
|
||||
- `POST /api/auth/login` - User authentication
|
||||
- `GET /api/sermons` - List sermons (with time filtering)
|
||||
- `POST /api/sermons` - Create new sermon (admin only)
|
||||
- `GET /api/sermons/[slug]` - Get specific sermon
|
||||
|
||||
## Docker Deployment
|
||||
|
||||
The application is fully containerized and ready for deployment:
|
||||
|
||||
```bash
|
||||
# Build and run
|
||||
docker-compose up -d
|
||||
|
||||
# View logs
|
||||
docker-compose logs -f
|
||||
|
||||
# Stop
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
The SQLite database will persist in a Docker volume named `sermon_data`.
|
||||
|
||||
## Development
|
||||
|
||||
- Uses Nuxt 4 with NuxtUI components
|
||||
- TypeScript for type safety
|
||||
- Tailwind CSS for styling
|
||||
- QR code generation for sermon sharing
|
||||
- Responsive design for all devices
|
||||
|
||||
## Security Notes
|
||||
|
||||
- Change default passwords before production deployment
|
||||
- Use strong JWT secrets in production
|
||||
- Consider implementing rate limiting for API endpoints
|
||||
- Database is stored in `/data/sermons.db` in the container
|
||||
Reference in New Issue
Block a user