- 📝 Content Management System - Markdown-based content with YAML frontmatter
- 🛣️ Modular Routing - Express.js with organized feature-based routing
- 🔒 Authentication - Built-in user authentication and authorization
- 📊 Admin Dashboard - Comprehensive admin interface
- 🎨 Templating - EJS templating with layouts
- 📱 Responsive Design - Mobile-first approach
- 🔍 SEO Optimized - Built-in SEO best practices
- 🚀 Performance - Caching and optimization strategies
- Node.js (v16 or higher)
- MongoDB (v4.4 or higher)
- Git
- Clone the repository:
git clone https://github.com/chocoOnEstrogen/choco.rip.git
cd choco.rip
- Install dependencies:
npm install
- Set up environment variables:
cp .env.example .env
- Start development server:
npm run dev
Visit http://localhost:9000
to see your application running.
├── content/ # Content files (blog posts, docs)
│ ├── blog/ # Blog posts
│ └── docs/ # Documentation
├── src/
│ ├── routes/ # Application routes
│ ├── utils/ # Utility functions
│ └── views/ # EJS templates
├── public/ # Static assets
└── docs/ # Project documentation
npm run dev
- Start development servernpm run build
- Build for productionnpm start
- Start production servernpm run format
- Format code with Prettiernpm run edit-config
- Edit configurationnpm run tsc
- Run TypeScript compilernpm run commit
- Run commit helper scriptnpm run copy
- Copy static assetsnpm run pm2:start
- Start application with PM2npm run pm2:stop
- Stop PM2 processesnpm run pm2:restart
- Restart PM2 processesnpm run pm2:delete
- Delete PM2 processesnpm run pm2:logs
- View PM2 logsnpm run pm2:monitor
- Monitor PM2 processesnpm run setup-config
- Set up initial configurationnpm run setup-data
- Set up initial datanpm run postinstall
- Run post-installation setup
Create new content in Markdown with YAML frontmatter:
---
title: "Your Title"
description: "Page description"
category: "category-name"
order: 1
---
Your content here...
Comprehensive documentation is available in the docs
directory:
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'feat: Add amazing feature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Please read our Contributing Guidelines for details.
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.
- Express.js for the web framework
- MongoDB for database
- TypeScript for type safety
- All our amazing contributors
- Create an issue for bug reports
- Join our Discord community
Made with ❤️ by chocoOnEstrogen