Giter Club home page Giter Club logo

atmo's People

Contributors

gabrielgodoy-zz avatar gitter-badger avatar itsjw avatar montogeek avatar raathigesh 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

atmo's Issues

Unable to deploy to server

My Setup -

Machine A - Atmo Server (Client & Server)
Machine B - Laptop machine from where I am defining a JSON prototype and deploying to Machine A

When I try to create and deploy a new prototype from my machine to the Atmo server (Machine A), I see a message 'Deploying...' but nothing happens. The JSON prototype is not getting deployed. Do I need to make any additional configs?

It would be great to have Gitter channel for Atmo project.

Graphql Endpoint - Have sample graphql schema when new endpoint is created

type Author {
id: Int! # the ! means that every author object must have an id
firstName: String
lastName: String
posts: [Post] # the list of Posts by this author
}

type Post {
id: Int!
tags: [String]
title: String
text: String
author: Author
}

the schema allows the following two queries:

type RootQuery {
author(firstName: String, lastName: String): Author
fortuneCookie: String
}

schema {
query: RootQuery
}

Generate Project via command line

Hello,

As i work with Atmo, i really like it!
as a follow up to #41 issue since making use of it as a mock in a version control enviroment, it can be amazing that in the build process (i use webpack) to add to the NPM script another script that generate the project same as the "Generate Project" button on atmo via command line to the "dist/" folder so i can ship it as a mock server instead of creating my own (thats the point of generate project anyway).

So i am suggesting that running "atmo --cacheFilePath mockups/db.json --generateProject dist/server" can be an excellent addon.

Thanks!

response dealy [enahcment]

hi! love the project!
small suggestion, maybe for each request can we set a delay, to test client side loaders and such.
so for each request you can have "ms" delays, should be a super cool addon.

Thanks!

Atmo Next (1.0) - Roadmap

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.

Get rid of the Star Button?

The star button on the dashboard, is a bit distracting. Especially since it doesn't match the current star count. Mine still at 30, perhaps it should match the current star and say "unstar" if I already starred it. Or just remove it.

version control entrypoints JSON file

when loading atmo frontend (via global command) it loads the file ../../cache.spec.json
whenever we add/delete entrypoint in the frontend the changes are being "globaly" saved to that file.

When working on a project i don't want my team to do import/export on every change in the version control (i.e using the export/import buttons in the atmo frontend)
I prefer to click the save button and continue as is.

There for the solution i offer is that when calling atmo in the command line add the parameter cacheFilePath to load the specific cache spec file.
example atmo --logs --cacheFilePath mockups/db.json

to do this inspecting the server.js code in atmo/src/server/server.js there is a variable called cacehFilePath which loads the global entrypoints file ../../cache.spec.json.

a quick dirty way to change that line to:
var cacheFilePath = ( argv.cacheFilePath ? argv.cacheFilePath : null ) || path.join(__dirname, '../../cache/spec.json');
will make that when running atmo the default loaded file will be then one i specified (which is good for version controlled file) also add/delete entrypoints currently saving it to that specific file just works as expacted.

I would have create a PR but i am behind a firewall and will able to do in only in few days( sorry!)
Also the change i offered is a very dirty solution, it should be placed and checked in a better place in the server.js code.

Thanks.

Cannot run atmo after install -g

After I type npm install -g atmo and then run atmo from terminal, I got this error.
env: node\r: No such file or directory

First I thought it's because my npm folder is not correct, however when I rollback to use atmo version 0.14.0, it worked. My friend also found this problem with 0.14.1

Bug in server when editing "Response Headers"

When creating a new http endpoint, the default "Response Headers" first row is "Access-Control-Allow-Origin: *" which is great it allows us CORS.
but if i click on it to edit it a new headers row is added under it.
If i don't add new header and leave the new row fields empty, clicking "Deploy" and "Save" , closing and reloading atmo causes the endpoint to return "404" error.
in my case the endpoint was a "200 OK" and "POST"

Thanks.

Logs of the API server

Should be able to see logs of the API server to get an idea of the status.

Logs such as

  • Deployment succeeded / Failed
  • Request/Response

dynamic urls/endpoints

Hello,

lets say i have a URL api/users/$userId/invoices/$invoiceId
how can i implment this in the URL and in the response type set to javascript, get the specific URL endpoints dynamic variables, to my coding and send back a dynamic response?

thanks!.

can't change CP Port

Is there a way to change the port of Atmo mission control? i think it is a necessary thing for the users.

Refactor response codes and unused inputs

Refactor with the suggestions from #26

  • Move status codes to a separate module
  • Construct the response code label as ${responseCode.code} ${responseCode.label}
  • Remove file-saver import from Header component

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.