https://github.com/jirzykerklaan/tep-cms
A fast, file-based content management system that's perfect for modern, static and dynamic websites.
https://github.com/jirzykerklaan/tep-cms
cms content-management-system ejs file-based-cms flat-file json typescript
Last synced: 2 months ago
JSON representation
A fast, file-based content management system that's perfect for modern, static and dynamic websites.
- Host: GitHub
- URL: https://github.com/jirzykerklaan/tep-cms
- Owner: JirzyKerklaan
- Created: 2025-07-25T20:23:50.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-09-12T10:34:59.000Z (9 months ago)
- Last Synced: 2025-09-12T11:43:24.472Z (9 months ago)
- Topics: cms, content-management-system, ejs, file-based-cms, flat-file, json, typescript
- Language: TypeScript
- Homepage:
- Size: 181 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## ๐ Table of Contents
- [Features](#features)
- [Installation](#installation)
- [File Structure](#file-structure)
- [Developer tips](#tips)
[//]: # (- [Suggestions or Issues](#contribute))
๐ฆ Features
- โก **File-based Content** โ no DB needed.
- ๐งฑ **Reusable Blocks** โ with a modular `page_builder`.
- ๐ **Organized Assets** โ with a modern media library.
- ๐จ **SCSS Styling** โ modular, maintainable styles.
- ๐งช **Easy Local Dev** โ run with nearly zero setup.
- ๐ **Lightweight & Fast** โ powered by Express & EJS.
- ๐ฅ **Multiple users** โ allows the user to have multiple accounts.
- ๐ **Content scheduler** - plan when a post should be released
- ๐ **Content versioning** - configurable content versioning of entries
- ๐งฉ **Headless mode** - use headless mode to implement TEP anywhere
- ๐ **Plugins** - easy management for a variety of plugins
๐ Installation
1. Clone the repo and install dependencies:
```bash
npm install
```
2. Copy the example config and customize it:
```bash
cp config.example.ts config.ts
```
3. Run the development server
```bash
npm run dev
```
4. Build for production
```bash
npm run prod
```
File Structure
```bash
tep-cms/
โโโ content/
โ โโโ collections/ # All collections (pages, blogs etc.)
โ โโโ globals/ # Global site settings (header, footer settings etc.)
โ โโโ navigation/ # Navigation menu's
โ โโโ schemas/ # Collections & globals schemas
โโโ core/
โ โโโ interfaces/ # Interface exports
โ โโโ manager/
โ โ โโโ controllers/ # Manager route controllers.
โ โ โโโ helpers/ # Manager route helpers.
โ โ โโโ services/ # Manager controller services.
โ โโโ middlewares/ # Global middleware
โ โโโ services/ # Route services
โ โโโ validation/ # Validation system
โโโ public/
โ โโโ assets/
โ โ โโโ base/ # Static theme images, icons, etc.
โ โ โโโ uploads/ # Uploaded images, icons, etc.
โ โโโ css/ # Compiled SCSS styling
โโโ src/
โ โโโ blocks/ # Page_builder blocks & components
โ โโโ plugins/ # Installed plugins
โ โโโ requests/ # Request validators
โ โโโ routes/ # System routing
โ โโโ templates/
โ โ โโโ layouts/ # Page layouts
โ โ โโโ manager/ # /manager views
โ โ โโโ views/ # Public views
โ โโโ types/ # Package definitions
โ โโโ utils/ # Utility functions
โโโ styles/ # SCSS styling
โ config.ts
โ server.ts
```
๐งช Development Tips
- Use version control to track content
- Turn off caching during the development fase
- [error codes](.github/docs/error-codes.md)
[//]: # (
๐ Suggestions or Issues
)
[//]: # ()
[//]: # (If you find bugs or have suggestions, feel free to open an [issue](https://github.com/JirzyKerklaan/tep-cms/issues/new).)