https://github.com/empeje/webpigram
Web-based epigram generator, supports both random and user generated.
https://github.com/empeje/webpigram
Last synced: 2 months ago
JSON representation
Web-based epigram generator, supports both random and user generated.
- Host: GitHub
- URL: https://github.com/empeje/webpigram
- Owner: empeje
- Created: 2025-03-10T17:39:47.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-03-17T05:24:33.000Z (2 months ago)
- Last Synced: 2025-03-17T06:25:05.738Z (2 months ago)
- Language: TypeScript
- Homepage: https://webpigram.vercel.app
- Size: 293 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Webpigram
Webpigram is a web application that allows users to generate, view, and submit epigrams (short, witty sayings).
## TL;DR: Quick Start
### Prerequisites
- [just](https://github.com/casey/just) - Command runner for project-specific tasks
Install using Homebrew: `brew install just`
For other installation methods or more details, see the [official repository](https://github.com/casey/just)
- Java 23+ for backend
- Node.js and pnpm for frontend
- Docker and Docker Compose (for PostgreSQL database)### Live Demo
Visit the live demo at https://webpigram.vercel.app (Note: The site uses a free instance that requires cold start on first boot)
### Setup
```bash
# Clone the repository with submodules
git clone --recurse-submodules https://github.com/empeje/webpigram.git
cd webpigram# Set up the project (installs dependencies)
just setup# Start PostgreSQL database
docker-compose up -d# Run both backend and frontend in development mode
just dev
```The application will be available at:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8080## Project Structure
- **Backend**: Spring Boot application in the `backend/` directory
- **Frontend**: Next.js application in the `frontend/` directory
- **Fortune-OSX**: Submodule containing fortune data used to populate the database## Detailed Documentation
- [Backend Documentation](backend/README.md) - Details on backend architecture, features, and configuration
- [Frontend Documentation](frontend/README.md) - Information on frontend setup, environment variables, and deployment
- [Backend Tools Documentation](backend/README-TOOLS.md) - Code quality tools used in the backend
- [Fortune Loader Documentation](backend/src/main/java/io/mpj/webpigram/tools/README.md) - Tool for loading fortune data into the database## Development Commands
```bash
# Run backend only
just dev-backend# Run frontend only
just dev-frontend# Run backend with fortune loader enabled
just dev-backend-with-fortune# Build the entire application
just build# Run tests
just test
```## Features
- Generate random epigrams from a database of fortunes
- AI-generated epigrams
- User submission of epigrams with CAPTCHA protection
- Epigram feeds combining popular and recent content
- Moderation system (manual or AI-based)
- Reporting functionality for inappropriate content## Deployment
The application can be deployed using Docker. A Dockerfile is provided in the root directory.
## Environment Variables
See the backend and frontend README files for details on required environment variables.