<h1 align="center">app.io</h1>  

<div align="center">
  <strong>REST API and web application framework, built on Nodejs, Express, and Mongoose</strong>
</div>

<br />

<div align="center">
  <!-- NPM version -->
  <a href="https://npmjs.org/package/app.io">
    <img src="https://img.shields.io/npm/v/app.io.svg" alt="NPM version" />
  </a>
  <!-- License -->
  <a href="https://npmjs.org/package/app.io">
    <img src="https://img.shields.io/npm/l/app.io.svg" alt="License" />
  </a>  
  <!-- Downloads -->
  <a href="https://npmjs.org/package/app.io">
    <img src="https://img.shields.io/npm/dt/app.io.svg" alt="Downloads" />
  </a>  
  <!-- Downloads Month -->
  <a href="https://npmjs.org/package/app.io">
    <img src="https://img.shields.io/npm/dm/app.io.svg" alt="Downloads Month" />
  </a>  
</div>

<br />

**app.io** is an open source REST API and web application framework, built on Nodejs, Express, and Mongoose,   
which is simple, easy, quick, flexible, extendable and scalable, and which has numerous features and capabilities,  
including a pre-configured server, an auto-generated admin UI and also auto-generated REST API endpoints.  

**app.io** is ideal for quick REST API development.  
It saves you from the complexity of API’s, and helps you to focus on your product and save time.  
Moreover, it enables you to work on multiple projects within the same framework.   

### Why was app.io developed?  

- In order to be used in cases, when a very quick REST API is needed for mobile-first applications.
- In order to answer the need for a powerful framework that will take on many tasks for you and simplify your work. It does not restrict you with given features, and it does not restrain you from writing your own code.
- In order to provide numerous features in a single framework. For example, you can manage multiple projects. Moreover, REST API endpoints and admin UI are automatically generated from Mongoose models.

### What can you do with app.io?

- **app.io** installs Express middlewares you may need, and runs the server. 
- **app.io** connects to data sources.
- You can use auto-generated REST API endpoints and admin UI.
- You can use predefined models, such as apps, users, roles, objects and actions.
- You can use the user authentication endpoints, such as login, register, forgot password, invite and change password.
- You can use the ACL-based user authorization.
- You can use the social authentication.
- You can access the auto-generated API documentation.

#### note:

Further information will be provided in time.  
**app.io** is under development, so use it at your own risk.

## License

The MIT License (MIT)

Copyright (c) 2016 Selçuk Fatih Sevinç

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
