DEV Community

Ralf 💥🔥☄
Ralf 💥🔥☄

Posted on • Updated on • Originally published at kissdev.io

CRUD and Authentication is annoying and time consuming (kiss.js to the rescue)

You have this great idea for a cool new mobile app and you immediately want to start building it.
You have everything laid out in your head already: You need some CRUD models with authentication and you need some custom logic that gets executed in response to crud operations.

When you are planning this kind of applications, you normally just think about your business logic and how to do it. Because crud is just crud and authentication is just authentication. Nothing to really think about.

But let's face it: Till you can start developing your app, you have to spend days or weeks on building really basic authentication stuff and all the required CRUD operations plus corresponding views. Then you need form validations and the list gets bigger and bigger...

This takes so much time that you lose your motivation and abandon the project. You start your next project and it all begins again... Repeat.

But imagine you could start a new project and authentication is already fully working. A dream! And now imagine you could create all CRUD operations and views for the model with one simple cli command ala ruby on rails. Perfect.

This basically means you can start working on your app shortly after creating it. You can deep dive into your business logic straight after starting. That's the world you ever dreamed of!

Entering kiss.js:

Kiss.js is a javascript framework created to build mobile applications.
Developing a mobile application with kissjs removes all this pain from development.
You start a new kissjs project which comes with authentication built in. That means you get Signin and Signup Pages hooked up to a datastore. And a mechanism to restrict any route you want to require an authenticated user.

Additionally the kiss cli gives you a scaffold command to generate the complete crud boilerplate for any kind of model. Think of it like the famous ruby on rails scaffold command.

After you generated the crud stuff for your models you can fully concentrate on your business logic.
Kissjs already created Business Logic components for your crud pages which makes it easy to add any kind of logic to your crud boilerplate.

Kissjs makes mobile app development fun and fast again. You will get your app shipped in no time.

Im posting updates about the development of kiss on twitter. Follow me there to stay up to date with kiss.js and be one of the first to try it out.

Happy coding!

Top comments (9)

Collapse
 
davidjames profile image
DavidJames

Interesting, I'm not ready to 'use' this (yet) but I'm actually (kinda) stressing about all of the (authentication issues) you described at this moment ... and this has the potential to be extremely useful in that regard.

I'll follow you for a while and see how this turns out (also, where the Github link?) .. I really don't have any use for Twitter ...

thanks.

Collapse
 
rallipi profile image
Ralf 💥🔥☄

Thanks for the reply.
I didn't make the repo public for now because the project isn't at a stable point right now. But everything about kissjs will be open source as soon as I consider it stable.

I will have a video showing the capabilities of kissjs ready in the next couple of days. It will show how useful it can be and how much time it can save.

Collapse
 
softmantk profile image
NIKHIL CM

I am too struggling with setting up these crud and authentication stuffs on server side. What is the backend technology, is that express framework ? And what about the DB, Sql Vs No SQL ?

Let me point out that, Loopback has kind of this feature.

Collapse
 
rallipi profile image
Ralf 💥🔥☄

Hi, thanks for the reply.
The database will default to mongo. But I'm planning to add options for different types of datastores in the future. That will make it easy to have different collections with completely different underlying databases in one project.

Collapse
 
abdulghani200 profile image
Abdul Ghani • Edited

I've been using loopback.js for crud and authentication setup. It's fairly easy. Would like to know how is this different.

Collapse
 
rallipi profile image
Ralf 💥🔥☄

I'm not very familiar with loopback but I try to show up some key differences:

-Setup:
You need to setup and configure each loopback project yourself.
the kiss backend is usable out of the box (selfhosted or as a service)

-Realtime:
As far as I know loopback only does REST. In kissjs everything will be realtime.

-model definitions:
In Loopback you have to create endpoints for every entity you want to have crud methods for. eg. you want to save Todos and Bookmarks, then you have to setup your loopback instance to handle that. With kissjs you don't have to do that. you can easily access any kind of collection from the client and only define access control. The data layer is more comparable to firebase/firestore

Collapse
 
eldyvoon profile image
Voon Ming Hann

The twitter link was wrong, make me wonder this post is written by a bot for a while haha!

Collapse
 
rallipi profile image
Ralf 💥🔥☄

oh shit 😅 I fixed it.
I'm not a bot I promise.

Collapse
 
rallipi profile image
Ralf 💥🔥☄

True. But I like kiss.js😁