Skip to content

gnimmelf/CMXpress

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a93dba8 · Oct 22, 2024

History

24 Commits
Oct 31, 2023
Nov 22, 2021
Oct 31, 2023
Oct 31, 2023
Oct 31, 2023
Sep 12, 2021
Oct 22, 2024
Oct 31, 2023
Oct 31, 2023
Oct 31, 2023
Oct 31, 2023

Repository files navigation

CMXpress

JSON-Schema based headless CMS

NOTE! SurrealDB(-access options) has made this project obsolete. Yay!

Status

Under leisure development.

TODO!

  1. Write tests (when proof-of-concept is valid) <= Include db.blueprint in tests, not in app...?

    • This will make me remember how stuff works after taking a break...
  2. Refactor to use adapters for dbService. All FS-DB stuff into respective adapter.

    • lmdb-store has compatibility-issues with node 18(? / !)
  3. Redo templateService, too complex

  4. Implement user registration & update

  5. Update JSON-scema to latest AJV implemented draft

  6. Secure all string-schema fields by patterns

  7. Swap generator to Yeoman? <= Do I even need a generator? -CLI?

  8. Publish on Npm

Tech

Knowledge

Tools

Disclaimer & motivation

This is above all a proof of concept using the technoloigies listed above.

The motivation is to start with minimum CPU-, RAM- and ca$h-overhead. The database is therefor a simple JSON-file storage, because most DBs are overkill for a small Wordpress-scale CMS. On par with that, this is also an antempt at making something I would love to use when friends ask me if I can help out with a website: Then I can say "Yes, I can, but only if you accept my terms", instead of sending them off to Wordpress (Which I hate to work with), or SquareWixSpace, any of which is pointless when their requirements are so simple.

Ultimate disclaimer

Use at own risk! This is a pet project, so it is justified according to my internal mental structure.


HttPie

http GET :3000/api/inspect/toText

NOTE! See the individual routes for more examples.

Login

http --session=~/tmp/session.json :3000/api/users/current
http --session=~/tmp/session.json POST :3000/api/auth/request email=gnimmelf@gmail.com
// Extract <CODE> from reponse
http --session=~/tmp/session.json POST :3000/api/auth/exchange email=gnimmelf@gmail.com code=<CODE>
http --session=~/tmp/session.json :3000/api/users/current
http --session=~/tmp/session.json :3000/api/auths/logout

About

PoC for a Json-schema based headless cms

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published