A modern, AI-powered content management and scheduling platform built with Next.js 15, TypeScript, and Tailwind CSS.
- Content Library: Beautiful grid/list view of all your content
- Advanced Filtering: Filter by status (Draft, Scheduled, Published, Archived) and content type
- Real-time Search: Search across titles, descriptions, and tags
- Content Details: Comprehensive view of individual content items
- Platform Integration: Multi-platform content distribution
- AI-Powered Suggestions: Smart content recommendations and improvements
- Visual Calendar: Interactive calendar view for content scheduling
- Drag & Drop: Easy content rescheduling
- Multi-platform Scheduling: Schedule content across different platforms
- Status Management: Track content through different lifecycle stages
- Content Suggestions: AI-powered title, description, and tag suggestions
- Content Analysis: Get AI feedback on your content
- Trend Analysis: Stay updated with trending topics
- Performance Insights: AI-driven content performance analytics
- Modern UI: Clean, responsive design with smooth animations
- Dark/Light Mode: Adaptive theming
- Mobile First: Fully responsive across all devices
- Loading States: Smooth loading experiences
- Error Handling: Graceful error states and fallbacks
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Styling: Tailwind CSS 4
- UI Components: Custom component library with Radix UI primitives
- Animations: Framer Motion
- Icons: Lucide React
- HTTP Client: Axios
- Date Handling: date-fns
src/
βββ app/ # Next.js App Router
β βββ (authenticated)/ # Protected routes
β β βββ content/ # Content management
β β β βββ page.tsx # Content library (main page)
β β β βββ [id]/ # Individual content views
β β β βββ page.tsx # Content detail page
β β βββ calendar/ # Calendar views
β β βββ dashboard/ # Dashboard
β βββ auth/ # Authentication pages
β βββ globals.css # Global styles
βββ components/ # Reusable components
β βββ content/ # Content-specific components
β βββ ui/ # Base UI components
β βββ auth/ # Authentication components
β βββ layout/ # Layout components
βββ lib/ # Utilities and configurations
β βββ api.ts # API client and endpoints
β βββ utils.ts # Utility functions
βββ types/ # TypeScript type definitions
βββ content.ts # Content-related types
βββ auth.ts # Authentication types
βββ modal.ts # Modal and form types
- Node.js 18+
- npm or yarn
- Git
-
Clone the repository
git clone https://github.com/your-username/khronos-content-calendar.git cd khronos-content-calendar -
Install dependencies
npm install # or yarn install -
Set up environment variables
cp .env.example .env.local
Update the environment variables:
NEXT_PUBLIC_API_URL=http://localhost:4000 NEXT_PUBLIC_API_KEY=your_api_key_here
-
Run the development server
npm run dev # or yarn dev -
Open your browser Navigate to http://localhost:3000
The content library is the central hub for managing all your content. Key features include:
- Grid/List View Toggle: Switch between card grid and detailed list views
- Advanced Search: Real-time search across content titles, descriptions, and tags
- Smart Filtering: Filter by content status, type, or platform
- Content Cards: Beautiful cards showing content preview, status, platforms, and metadata
- Quick Actions: Hover effects reveal additional actions for each content item
Individual content pages provide comprehensive details:
- Full Content Display: Rich text content with proper typography
- Metadata: Author information, creation/publish dates, and platform details
- Tag Management: Visual tag display with color coding
- AI Suggestions: View AI-powered improvement suggestions
- Attachments: Download and manage content attachments
- Status Tracking: Visual status indicators with appropriate icons
Create new content with:
- Multi-platform Targeting: Select multiple platforms for distribution
- AI-Powered Suggestions: Get smart recommendations for titles, descriptions, and tags
- Rich Text Editing: Full-featured content editor
- Scheduling: Set publication dates and times
- Tag Management: Add and organize content tags
- File Attachments: Upload supporting files and media
The application is designed to work with a RESTful API. Key endpoints include:
// Content endpoints
GET /content # Get all content with filtering
GET /content/:id # Get specific content item
POST /content # Create new content
PUT /content/:id # Update content
DELETE /content/:id # Delete content
// Calendar endpoints
GET /calendar # Get scheduled content
POST /calendar/schedule # Schedule content
PUT /calendar/:id # Reschedule content
// AI endpoints
GET /ai/suggestions # Get content suggestions
POST /ai/analyze # Analyze content
POST /chat # AI chat completions-
Update the enum in
src/types/content.ts:export enum ContentType { // ... existing types NEWSLETTER = 'newsletter', }
-
Add type colors in the content page:
const getTypeColor = (type: ContentType) => { switch (type) { // ... existing cases case ContentType.NEWSLETTER: return 'bg-teal-100 text-teal-800'; } };
Add new filter options by modifying the filter buttons in src/app/(authenticated)/content/page.tsx:
const customFilters = [
{ id: 'trending', label: 'Trending', filter: (content) => content.trending },
{
id: 'ai-generated',
label: 'AI Generated',
filter: (content) => content.aiGenerated,
},
];Customize the appearance by modifying:
- Colors: Update Tailwind configuration
- Typography: Modify the prose classes in
globals.css - Components: Customize component styles in the
ui/directory
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, email support@khronos.com or join our Discord community.
Built with β€οΈ by the Khronos team