Giter Club home page Giter Club logo

jollofjs's Introduction

JollofJS

The tastiest NodeJS Application Framework you'll ever eat.

jollof Logo

KoaJs Slack

Key Features

  • Convention over configuration ...Because you have better things to do with your time. But JollofJS is still very configurable.

  • Full support for ES7 Async/Await Free yourself from the oppressive/convoluted regime of callbacks and use awesome yieldables/awaitables through ES6 Promises, and Async Await. Powered by KoaJS.

  • Built-in Admin User Interface Ever wondered why something like Django Admin doesn't exist for NodeJS? Well with JollofJS, it does now. Administer your site's data with the built-in Jollof Admin (built from scratch using React). E.g You could whip up a blog for your Application and use Jollof Admin as a simple CMS backend for that blog. The options are endless!

  • Data Abstraction Done Right JollofJS has a custom-built data abstraction layer that makes it possible to use any database (or REST API) as a datasource so long as an adapter exists for it.

  • And More!...

This doc is a Work-in-Progress

Officially Supported DataSources

  • MongoDB
  • ArangoDB

More to come, and It is very easy to make yours!

Getting Started

npm i -g jollof-cli

You also need to have ArangoDB and Redis up and running.

JollofJS uses Redis for session storage. The scaffolded app will come with the ArangoDB data adapter by default. You can switch to any other compatible datasource anytime by simply making a change in config/ e.g to MongoDB.

Create your JollofJS app with:

jollof new myApp

Before you run your app, create an admin user:

cd myApp
jollof run createAdmin [email protected] password

Now you are ready to run your jollof app:

npm start

You should now be able to see jollof running at http://localhost:3001.

jollof home

App structure

You are highly advised to study the structure of this new app, starting from index.js.

Jollof Admin

To enter the Jollof admin, you have to login with that admin user you created before launching the app.

jollof admin

Editing an item in the Admin...

jollof edit

The Jollof Admin is, quite frankly, the Saber's edge of any NodeJS framework in existence today. Jollof Admin automatically creates a user interface to administer all your models, as well as in-built models. It supports all the usual field types you find in an other admins, and then some! Including:

  • Arrays (Of ANY field type)
  • Objects, (Of ANY combination of field types)
  • Files,
  • GeoLocations

Right now, the app you created has only one used model: User.

See Jollof Docs for how to work with Models.

jollofjs's People

Contributors

brianreavis avatar crobinson42 avatar dependabot[bot] avatar dxa4481 avatar gitter-badger avatar iyobo avatar kindlyiyobo avatar nerdyorion avatar thom-nic avatar toukovk avatar trenskow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

jollofjs's Issues

richtext field type not editable when placed in Object.

The richtext field throws an error in the console when put in an object block.

const schema = {
    name: 'Page',
    connectionName: 'default',
    structure: {
        title: { type: String, required: true },
        subTitle: String,
        slug: String,

        **intro: { type: String, meta: { widget: 'richtext' } },**

        sections: [
            {
                title: String,
                slug: String,
                **body: { type: String, meta: { widget: 'richtext' } },**
            }
        ]

        lastChangedBy: types.Ref({ meta: { ref: 'User' } }),

        parentPage: types.Ref({ meta: { ref: 'Page' } })

    },

The intro richtext field works, but sections.*.body doesn't.
The issue is not with arrays either because making an array of richtexts works fine. It's always the object.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.