segphault / basejump-router

Dynamic routing middleware powered by declarative configuration
60 stars 14 forks source link

Status? #4

Open ehlersd opened 6 years ago

ehlersd commented 6 years ago

I'm looking at RethinkDB, found this via your YouTube video and wondering a few things:

Thanks for your time...

rogeriofza commented 6 years ago

I second @ehlersd . Whats the status of the basejump project. Would really like to use this tool

nigel-dewar commented 6 years ago

@segphault

Hi Ryan,

I'm following up this because I believe what you have produced is really significant. I realize rethinkdb perhaps didnt turn out as well commercially, but technically its a brilliant product. When faced with several nosql DBs I went through mongo, rethinkdb, documentDB from microsoft, firebase and after alot of study and consideration come back to rethinkdb. Its just the DB of choice and I truely think its great.

I'd like to know if there is any chance you might be willing to release your front end for basejump? I'd really like to make use of it.

Please consider my request.

Kind Regards

Nigel Dewar - die-hard rethinkdb zealot.

segphault commented 6 years ago

When the company behind RethinkDB shut down suddenly last year, it left me with a lot of uncertainty about how I wanted to move forward with Basejump. I recently started working on the project again with the aim of launching a 1.0 release this year. In the interest of getting a release out sooner rather than later, I'm going to scale back some of my original ambitions a little bit.

The initial version will be missing some specific things I talked about in the video, like the visual schema editor and Swagger support. The good news is that I've had a lot of time to think about Basejump's architecture and performance. The 1.0 release will be extensible with middleware, practical to use in production at scale, and will not strictly depend on RethinkDB.

Roadmap

This is a rough overview of what Basejump will look like at launch:

This is a selection of features that won't make the cut for launch, but will be on the long-term roadmap:

Current Status

The current code in master is quite stale and has a bunch of problems. The user interface that I demoed in the video has also bitrotted considerably. You can see the most recent version of the Basejump core and server code in the plugin-refactor branch. There is a completely new frontend (that is incomplete and not yet published) that is designed to work with that branch. The code is all MIT-licensed.

The code in plugin-refactor works, and it's reasonably performant thanks to some changes that I made to how it uses the vm module after conducting some benchmarking. I'm going to be making some major changes to the API that it exposes, however.

When I was figuring out how to make Basejump extensible, I was aiming for a system where the routes that Basejump Builder uses to interact with the server are generated dynamically from models defined in plugins. This approach has some shortcomings that made it difficult to pursue in practice. I'm going to remove a bunch of that code and take a more straightforward approach with a lot less magic.

Now that I've figured this out, I should be able to get to a state where at least the core and server are usable pretty soon. At that point, I'll publish the (pretty rough) code for the new frontend and get it to the point where it's usable for testing purposes.

I'd like to make development more transparent and participatory going forward, so I'll be pushing code more regularly and hopefully posting more updates as time permits. I hope that all of this helps clarify the status. I'm going to leave this issue open for feedback and further discussion.

nigel-dewar commented 6 years ago

@segphault , Hi Ryan,

Thanks very much for your reply and HUGE THANKS for sharing your plans to continue on with this project!

And if there is any way I can help I will.

I have skills in Angular 1 to 5, Ionic, and happy to learn Vue to test out your framework. Ive spent some time with Nodejs and I fully understand role based Authn/Authz with JWT.

I speak English naturally. I'm a Kiwi living in Brisbane, Australia. I can assist by producing high quality documentation, tutorials, website content, youtube videos etc, and of course testing, or contributing on source should you ever wish for help on that.

Please let me know if there is any way I can assist Ryan,

And again, Thanks for posting on this subject. Im really excited that you want to bring this thing to life. I love what you are doing and fully behind it.

Nige. :-)