top | item 30661577

Show HN: A Self-Hosted back end solution in Node.js

10 points| kkopanidis | 4 years ago

Hello everyone! I want to introduce you to the project I've been working on for some time!

It's called Conduit and it's a new platform to build your next application on. I've been working with similar solutions since 2014, beginning with Parse (even after it was made open-source), moving to firebase and then mostly sticking to custom backends. On 2017 I founded a Software Development agency and quickly realised that if we were to improve quality and increase speeds we need a platform to help us do that.

Parse was kind of outdated for us at that point, and Firebase hasn't (even after so many years) caught up to the flexibility the former provided. You can do MVPs yes, but you end up moving logic to the front-end or use the serverless functions that have many limitations and slow cold-start times. So for me and my dev team, it wasn't a solution for anything further than authentication management and push notifications.

So, back in 2020 I begun working on Conduit, with 3 targets: Provide common functionality out of the box, do not limit devs and lastly it should work in the same philosophy a custom backend would. This meant effectively no runtime overheads (or at the very least only minor ones), a flexible API, micro-service based architecture with each service housing a particular set of features (ex. Authentication, Database, Email etc) and of course it uses gRPC for service-to-service communications so devs can create new modules from whatever language and/or framework they want!

Fast-forward in 2022, we've already used in 5 production projects for clients. Our front-end teams love it, our backend teams have more free time than ever to work in more complex problems, and bugs in production have been reduced drastically. It even withstood a user surge in one project were we had more than 10.000 req/min (we spun up more instances to account for the load).

I'd love to answer any and all questions you have about it! And I hope you like it enough to give us a star in GitHub :D

Links: website: https://getconduit.dev/ GitHub: https://github.com/ConduitPlatform/Conduit

4 comments

order

all_iv|4 years ago

Looks interesting but several documentations are missing. There are some hiccups here and there when I tried it briefly

- All the swagger docs are pointing to undefined route

- Got 404 when loading Email & Forms module

Starred the repo and will be watching for future releases

kkopanidis|4 years ago

Glad you tried it out! If you can spare the time, can you open an issue with more details on the problems you faced? It's very important that we understand the challenges that other devs face so that we can improve!

EgeAytin|4 years ago

Nice work, really like the module structures. Just wondering do you have a plan to add authorization module ? How your users handle this issue when using Conduit.

kkopanidis|4 years ago

Glad you like it! Yes we actually plan to introduce general access-control features, but probably won't be a separate module but will either be included as part of the authentication module or the database module. We want to provide flexibility on that functionality as we do with all of the components.

Currently in projects that have used conduit, this is done using "authenticate" routes ex. custom operations in the database/cms module, where you can check a user's id or you can do it by adding your own custom modules for the logic that you want to protect. Moving forward (when the authorization feature is added) you'll be able to do stuff like that even more easily through the admin panel.