Skip to content

matheusmr13/cyop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CYOP - Create Your Own API

Build Status Coverage Status Code Climate

CYOP is a tool to create your own api without ANY code using a simple interface.

Requirements

  • Maven ^3.1.1
  • Java 1.7

Steps to Use

  1. Create a project on Google App Engine on Google Console

  2. Clone this repo

     $ git clone git@github.com:matheusmr13/cyop.git
    
  3. Execute:

     $ ./deploy <YOUR_PROJECT_ID>
    
  4. Access <YOUR_PROJECT_ID>.appspot.com/import

  5. Edit your configurations and click "Create new version!"

  6. You are ready to go!

When should I use CYOP?

  1. When you have to test a proof of concept (aka POC)
    • You can focus your time on the real challenge: test if people likes your solution/idea
  2. When you have to do some fast project (maybe a freelance job, or a project without a complex backend)
  3. When you don't know any server side programming language and need to save your data on some place
    • You just need to know JSON and read some CYOP documentation to have your API (in future you will not even need to know JSON to configure your API)

Ps: In any of this ideas, Google App Engine will help you reducing your server costs with the daily free quotas and the super duper cheap environment

When shouldn't I use CYOP?

  1. When your client needs very specific software and you need complex server side logic developing
    • Maybe you will need to craft some backend that fits what he really needs
  2. When you need some feature that CYOP doesn't has
    • Or you can contribute and help CYOP grow

Running local

git clone git@github.com:matheusmr13/cyop.git

cd cyop

mvn clean install && mvn appengine:devserver

http://localhost:3000/import

Demo

http://saasapi-1469987800705.appspot.com/

Future

(not in order)

  • Create simple API (GET, POST, PUT, DELETE)
  • Simple tutorial to create first API
  • Screen to edit configurations
  • Without knowing JSON, you can configure your API in a beautiful page
  • Generate mock informations
  • Choose some basic settings and generate data to your database
  • Generate page with documentation
  • With some infos granted when creating your API, a page that anyone can access will be available
  • List property
  • List of any other property (eg: list of endpoints, list of integers, etc)
  • Filter url
  • Url like /version/endpoint {name : matheus}, where you can filter your list of data
  • Enable/disable integrated tools (eg: login, email, fetch url, etc)
  • If you like to use some already implemented tool, you can just enable it on some page
  • Define type of scaling (automatic, basic, which type of instances)
  • Import/export data
  • Like a "database dump", but with your API (and data)
  • Validators
  • Define integer column range, text max chars, regex, etc
  • CORS settings
  • Define with domain can access your API if web
  • Permissions
  • Combined with authentication service, define which profile can see which API URL
  • Manage your versions
  • Edit your versions (don't just create new ones), backward compatibility
  • Create some default actions URL
  • Like: enable/disable, filter, etc

Yes, this is a lot of functionalities!

Help CYOP to achieve this goals! Be welcome to contribute!