An open API service indexing awesome lists of open source software.

https://github.com/andrew-saeed/cms

Content Management System built with Django 5 and Vite.
https://github.com/andrew-saeed/cms

alpinejs blog cms django mysql python tailwindcss vite

Last synced: 3 months ago
JSON representation

Content Management System built with Django 5 and Vite.

Awesome Lists containing this project

README

          

# ๐Ÿ“ CMS โ€” A Developer-Centric Publishing Tool

A lightweight, modern CMS built with Django 5 and Vite, inspired by [dev.to](https://dev.to). This tool is designed for **developers and internal teams** to draft, share, and collaborate on technical ideas, blog posts, or team discussions โ€” before they go public.

## ๐Ÿš€ Features

- โœ๏ธ **Markdown-based editor** with [Toast UI Editor](https://ui.toast.com/tui-editor)
- ๐Ÿท๏ธ **Taggable content** using `django-taggit`
- ๐Ÿ”’ **User authentication**
- ๐Ÿง  **Draft-first publishing flow** โ€” write before you're ready to share
- ๐Ÿ› Debug support via `django-debug-toolbar`
- ๐Ÿ–ผ๏ธ Media uploads (images, avatars) via `Pillow`
- ๐Ÿ“ง Email notifications with `django-anymail`
- ๐Ÿงต Team-focused UX โ€” perfect for internal dev communications

## ๐Ÿงฐ Tech Stack

### Backend
- **Python 3.10**
- **Django 5.1.7**
- **MySQL** as the primary database
- **Markdown** rendering
- **Django Debug Toolbar** for dev insights
- **Environment config** via `python-decouple`

### Frontend
- **Vite 6** for fast bundling
- **Tailwind CSS 4** for utility-first styling
- **Alpine.js** for interactivity
- **Toast UI Editor** for rich markdown editing
- **Flatpickr** for date/time inputs
- **JS-Cookie** for client-side state handling

## ๐Ÿ› ๏ธ Installation

### 1. Clone the Repo
```bash
git clone https://github.com/andrew-saeed/cms.git
cd cms
```

### 2. Dev - Backend Setup (Django)
```bash
# Install pipenv if not already installed
pip install pipenv

# Install dependencies and auto-create virtual environment
pipenv install

# Create a `.env` file with your settings
cp .env.example .env

# Activate the pipenv shell
pipenv shell

# Set up the database
python manage.py migrate

# Run the dev server
python manage.py runserver
```

### 3. Dev - Frontend Setup (Vite)
```bash
cd theme/vite
npm install
npm run dev
```

## ๐Ÿ“„ License
This project is licensed under the MIT License.

## ๐Ÿค Contribution
Feel free to fork the repository and submit pull requests.

## ๐Ÿ“ฌ Contact
For any inquiries, reach out to andrewsaeed95@gmail.com