Early Work in Progress
Looped Headless CMS is a modern, lightweight, and opinionated headless CMS for managing blogs, publications, and journals. This CMS is inspired by the Ghost CMS but focuses on being a headless CMS only to enable you to build custom and rich user experiences for your readers and users. At the same time, we handle the nitty-gritty stuff like Content Management, Member Subscriptions, Payments, and so on. This is all exposed using GraphQL technology, which is great for documentation and easy to request the data you need in a single API call.
As a headless content management system (CMS), you bring your own frontend. This may include:
- Web Apps - Use your framework of choice - React, Angular, Vue, Svelte, Marko, etc.
- Static Site Generators - Hugo, Astro, Jekyll, etc.
- Smartphones/Tables Apps - You can use looped-cms as the backend for your mobile app from iOS, Android and a whole host of cross-platform tools.
- Desktops Apps - Laptops and desktop computers are here to stay for the foreseeable and looped doesn't care what the frontend is made for.
- The sky is the limit - if it can integrate with an API, it can connect to our CMS.
This is still a work in progress; for the initial version, I am targetting the following features:
- Content Management - Pages, Posts, Tags, etc.
- An Admin UI for managing content
- GraphQL API for connecting your frontend to the headless CMS
- Membership and Membership Subscription feature - allowing you to control access to content by members.
- Staff Management - Be able to give access to your staff to access the Admin UI and manage content with granular access control
This is still an early work in progress and this will change in the future as I intent to make easier to get started with looped, hopefully a CLI for accomplishing various task.
This is for development purpose, when I launch alpha version, I intend to have a full blown CLI to manage the CMS API.
You have two options:
- First, make sure you have docker installed
- Clone this repository -
git clone https://github.com/looped-dev/cms.git
- Then at the root of the repository, run docker-compose up. This is going to build the API in a docker container and also get MongoDB container.
- Once the build process is done, you can open the graphql server playground: http://localhost:8080.
- First, make sure you have Go and MongoDB Installed in your system.
- Clone this repository:
git clone https://github.com/looped-dev/cms.git
- Copy the
looped.config.example.yaml
file and rename tolooped.config.yaml
- Open the file you just renamed, and update the various configs appropriately - follow the comments in the file.
- You can now run the golang server:
go run ./api/server/server.go
. This will launch the server on port 8080. - That's it 👏, you can explore graphql playground on your browser - http://localhost:8080.
The frontend is based on Angular and uses NX. Once you have cloned the
repository, you can run the frontend by running nx server
which will serve the
webapp on port 4200. You will need to have Angular CLI
and NX Installed globally.
If you have any questions or suggestions, feel free to start a discussion here.