Skip to content

Simbox-io/mcms-v2

Repository files navigation

Modern CMS

A modern Content Management System built with Next.js 15.2, Server Actions, Tailwind CSS, Prisma, and PostgreSQL.

Features

  • 📝 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

Tech Stack

  • Frontend: Next.js 15.2, Tailwind CSS, React DnD
  • Backend: Next.js Server Actions, Prisma ORM
  • Database: PostgreSQL
  • Development: Docker Compose, dbmate

Getting Started

Prerequisites

  • Node.js (v18+)
  • Docker and Docker Compose

Installation

Option 1: Local Development

  1. Clone the repository
  2. Run npm install to install dependencies
  3. Start the PostgreSQL database:
docker-compose up -d postgres
  1. Run the migrations:
npm run prisma:migrate
  1. Start the development server:
npm run dev

Option 2: Docker Development

  1. Clone the repository
  2. Build and start all services:
npm run docker:build
npm run docker:up
  1. The application will be available at http://localhost:3000

Test User

A test admin user is automatically created:

Database Migrations

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

Prisma Commands

# Generate Prisma client
npm run prisma:generate

# Create and apply migrations
npm run prisma:migrate

# Open Prisma Studio
npm run prisma:studio

dbmate Commands

# Apply all migrations
npm run db:migrate

# Rollback the most recent migration
npm run db:rollback

# Check migration status
npm run db:status

Docker Commands

# 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

Environment Setup

Copy the .env.example file to .env.local and update the values as needed.

For Docker development, the .env.docker file is used automatically.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages