A modern, feature-rich Content Management System built with Django and PostgreSQL for Novyra Marketing Agency.
- 📝 Blog Management - Create, edit, and manage blog posts with rich text editor
- 💼 Portfolio Management - Showcase your work with portfolio items and galleries
- 👥 User Management - Manage users with different roles (Administrator, Editor, Author)
- ⚙️ Settings - Configure site settings, SEO, social media links, and security options
- 📊 Dashboard - Beautiful dashboard with statistics and recent activity
- 🎨 Modern UI - Responsive design with smooth animations and mobile-friendly interface
- 🔒 Secure - Built-in authentication and security features
- Python 3.8+
- PostgreSQL 12+
- pip
-
Clone the repository
cd "novyra cms"
-
Install dependencies
pip install -r requirements.txt
-
Set up PostgreSQL Database
Create a PostgreSQL database:
CREATE DATABASE novyra_cms; CREATE USER novyra_user WITH PASSWORD 'your_password'; GRANT ALL PRIVILEGES ON DATABASE novyra_cms TO novyra_user;
-
Configure Environment Variables
Create a
.envfile in the project root:SECRET_KEY=your-secret-key-here DEBUG=True DB_NAME=novyra_cms DB_USER=novyra_user DB_PASSWORD=your_password DB_HOST=localhost DB_PORT=5432
-
Run Migrations
python manage.py migrate
-
Create Superuser
python manage.py createsuperuser
-
Collect Static Files
python manage.py collectstatic --noinput
-
Run Development Server
python manage.py runserver
-
Access the CMS
- Admin Panel: http://127.0.0.1:8000/admin/
- Dashboard: http://127.0.0.1:8000/dashboard/
- Login: http://127.0.0.1:8000/accounts/login/
novyra_cms/
├── blog/ # Blog app
├── portfolio/ # Portfolio app
├── accounts/ # User management app
├── settings_app/ # Site settings app
├── templates/ # HTML templates
├── static/ # Static files (CSS, JS, images)
├── media/ # User uploaded files
└── novyra_cms/ # Main project settings
- Navigate to Blog Posts in the sidebar
- Click Add New Post
- Fill in the form with title, content, categories, and featured image
- Choose status (Draft, Published, or Pending Review)
- Click Save Post
- Navigate to Portfolio in the sidebar
- Click Add New Item
- Add project details, images, and categories
- Mark as featured if needed
- Save the item
- Navigate to Users in the sidebar
- Click Add New User to create a new user
- Edit users to change roles and permissions
- Users can have roles: Administrator, Editor, or Author
- Navigate to Settings in the sidebar
- Configure:
- General: Site title, tagline, description
- SEO: Meta tags, keywords
- Social Media: Links to social profiles
- Security: Two-factor authentication, login limits
- Backend: Django 5.0.1
- Database: PostgreSQL
- Frontend: HTML5, CSS3, JavaScript
- Rich Text Editor: CKEditor
- Forms: Django Crispy Forms
- Animations: AOS (Animate On Scroll)
- Icons: Font Awesome
- Fonts: Google Fonts (Inter, Poppins)
The CMS is fully responsive and optimized for:
- Desktop (1920px+)
- Tablet (768px - 1024px)
- Mobile (320px - 767px)
- User authentication and authorization
- CSRF protection
- SQL injection prevention
- XSS protection
- Secure password hashing
- Session management
To run in development mode:
python manage.py runserverTo create a new migration:
python manage.py makemigrations
python manage.py migrate- Set
DEBUG=Falsein settings - Configure proper
ALLOWED_HOSTS - Set up proper database credentials
- Use a production WSGI server (Gunicorn, uWSGI)
- Set up static file serving (Nginx, Apache)
- Configure SSL/HTTPS
This project is proprietary software for Novyra Marketing Agency.
For issues or questions, please contact the development team.