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.
- Host: GitHub
- URL: https://github.com/andrew-saeed/cms
- Owner: andrew-saeed
- License: mit
- Created: 2025-04-11T22:34:47.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-23T07:19:14.000Z (about 1 year ago)
- Last Synced: 2025-08-11T00:02:17.677Z (11 months ago)
- Topics: alpinejs, blog, cms, django, mysql, python, tailwindcss, vite
- Language: JavaScript
- Homepage: https://andrewsaeed95.pythonanywhere.com
- Size: 1.09 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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