Raathigesh / atmo

:heavy_check_mark: Mock data for your prototypes and demos. Remote deployments to Zeit now.
815 stars 46 forks source link

Atmo Next (1.0) - Roadmap #34

Closed Raathigesh closed 7 years ago

Raathigesh commented 8 years ago

Atmo is not huge success but with 400+ stars, I think its good enough to consider a total revamp and make it even more powerful which would hopefully make even more people to use it. So here is my plan for the next version of Atmo (Atmo Next).

Plans on features and enhancements

These are some things to expect with Atmo Next as a user of Atmo

From CLI to Electron

I went with a CLI based approach because it's easier to distribute through npm and I don't have to worry about building for different platforms. But unfortunately electron would add that overhead. But I think it's worth the effort considering the experience it would provide. So Atmo next would be an electron app.

Focus on REST service mocking

When i started developing Atmo, I got way too excited and added support for bunch of things such as Socket and GraphQL. There are way better tools for GraphQL for example Apollo Launch Pad and GraphCool. So Atmo next would not have GraphQL support and Socket support. Atmo next is going to be REST API focused.

Better User experience

Atmo's UI is something I'm really proud of. I'm not a CSS guy. But with the help of Semantic UI I was able to put to together the current UI with extremely short amount of time. But current UI got issues such as not able to re-order the created endpoints in the side bar. This is going to change. Atmo next would be experience focused

Authentication and customisation

There were few requests to support authentication in Atmo but I never got time to implement it so far. I would take this opportunity to add authentication support and other features like response delay to simulate long running tasks.

Deployment

When you write a mock API, at some point you would like to deploy it to cloud so you could share with someone else. Atmo Next would integrate with Zeit's now to make deployment seamless.

Code Generation

If you decide to ditch Atmo for whatever reason, you should not be needing to start all over again from scratch. Code generation would help to generate a Node JS project of your current Atmo project so you could customise as you want from the moment you decided to move away from Atmo.

A website

A website would really help to increase the adaptation of the tool. So, let's build a cool, minimal website.

Looking into new technologies

I would also like to leverage this re-write to look into some new technologies and build Atmo on top of them.

Electron

It's an electron app, so yea!

Typescript

It's just productive!

Mobx

Atmo uses Mobx for state management. It was fun using Mobx but I definitely miss Redux. Recently I came across this article which proposes an interesting pattern. Atmo next would still stick with Mobx but would love to experiment with some patterns that are being proposed. it looks bit too early for mobx-state-tree.

Styled components

Because it looks great.

Ant Design

This is probably what I'm mostly concerned about. Semantic UI is an awesome framework if you don't want to spend hours building the UI and there is now Semantic UI React as well. But I want to give Ant Design a chance because it looks promising and the number of components are much more and versatile.

Blueprint JS

After a day of prototyping with Ant Design, I don't really like how the Ant Design components look out of the box. So decided to go ahead with Blueprint JS.

Semantic UI React

Apparently, I did not realize how easy and productive it is to work with Semantic UI. After trying the above alternatives, I returned to using Semantic UI React.

Let me know what you think

It doesn't matter what awesome features or technologies Atmo next has if there is no body to use it. So let me know what you think and what are your pain points with Atmo. Would be happy to address them.

Raathigesh commented 7 years ago

1.0 is released!