A modern Content Management System built with Next.js 15.2, Server Actions, Tailwind CSS, Prisma, and PostgreSQL.
- 📝 Post management
- 💬 Forums
- 📚 Tutorial sections
- 🖱️ Drag-and-Drop page customization
- 👤 User management
- 🔒 Authentication and authorization
- 🎨 Theming and customization
- 📁 File and image management
- 🏷️ Tagging system
- 🔍 Search functionality
- Frontend: Next.js 15.2, Tailwind CSS, React DnD
- Backend: Next.js Server Actions, Prisma ORM
- Database: PostgreSQL
- Development: Docker Compose, dbmate
- Node.js (v18+)
- Docker and Docker Compose
- Clone the repository
- Run
npm install
to install dependencies - Start the PostgreSQL database:
docker-compose up -d postgres
- Run the migrations:
npm run prisma:migrate
- Start the development server:
npm run dev
- Clone the repository
- Build and start all services:
npm run docker:build
npm run docker:up
- The application will be available at http://localhost:3000
A test admin user is automatically created:
- Email: [email protected]
- Password: password123
We use both Prisma and dbmate for database migrations:
- Prisma: Used for schema management and type-safe database access
- dbmate: Used for SQL migrations and database versioning
# Generate Prisma client
npm run prisma:generate
# Create and apply migrations
npm run prisma:migrate
# Open Prisma Studio
npm run prisma:studio
# Apply all migrations
npm run db:migrate
# Rollback the most recent migration
npm run db:rollback
# Check migration status
npm run db:status
# Start all services
npm run docker:up
# Stop all services
npm run docker:down
# Rebuild services
npm run docker:build
# View logs
npm run docker:logs
Copy the .env.example
file to .env.local
and update the values as needed.
For Docker development, the .env.docker
file is used automatically.
MIT