All Projects → axe-api → axe-api

axe-api / axe-api

Licence: MIT license
The fastest way to create a simple Rest API, by defining database models and relations.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to axe-api

BotBlock.org
BotBlock - The List of Discord Bot Lists and Services
Stars: ✭ 29 (-52.46%)
Mutual labels:  expressjs, knexjs
nodetomic-api
RESTful API Nodejs designed for horizontal scalability with support for cluster, based on Express, MongoDB, Redis, JWT, Socket.io, Passport.
Stars: ✭ 41 (-32.79%)
Mutual labels:  expressjs
order-service
一个基于vuejs,reactjs,nodejs,socket.io的服务系统
Stars: ✭ 22 (-63.93%)
Mutual labels:  expressjs
ZestX-Frontend
Month-Long Fest Website ZestX with some Awsome UI and Intact Backend. Implemented admin page for user and event management
Stars: ✭ 28 (-54.1%)
Mutual labels:  expressjs
ExpressQL
A Ready-to-Go API Skeleton using Node.js + Express.js + GraphQL + MongoDB + JWT Authentication
Stars: ✭ 12 (-80.33%)
Mutual labels:  expressjs
blog-front
Blog@NextJs
Stars: ✭ 65 (+6.56%)
Mutual labels:  expressjs
Proffy
👥 Plataforma de estudos online, onde é possível conectar alunos com professores. Este é um projeto que foi desenvolvido durante a Next Level Week #2 da @Rocketseat, durante os dias 3 à 7 de agosto de 2020.
Stars: ✭ 12 (-80.33%)
Mutual labels:  knexjs
code-editor-react
A full stack web application for online programming, built with React and Express.
Stars: ✭ 27 (-55.74%)
Mutual labels:  expressjs
blog
仿照nswbmw的N-blog项目写的多人博客系统,引入了bootstrap和jquery validation plugin。详见wiki部分。
Stars: ✭ 10 (-83.61%)
Mutual labels:  expressjs
express-mongodb-crud
Web Application CRUD using Nodejs and Mongodb
Stars: ✭ 87 (+42.62%)
Mutual labels:  expressjs
GoBarber
💈 Aplicação de agendamento para serviços de beleza, entre provedores e clientes.
Stars: ✭ 84 (+37.7%)
Mutual labels:  expressjs
hlf1.4-supply-chain
Supply chain proof of concept in Hyperledger Fabric. Network with four companies and a specific chaincode exposed as rest API
Stars: ✭ 30 (-50.82%)
Mutual labels:  expressjs
mern-stack-application
A MERN stack e-commerce website.
Stars: ✭ 45 (-26.23%)
Mutual labels:  expressjs
tuffilink
Capable system for URL shortening with the use of an SQL database. Tuffilink is named after an elephant 🐘
Stars: ✭ 13 (-78.69%)
Mutual labels:  expressjs
typescript-api-starter
🔰 Starter for Node.js express API in Typescript 🚀
Stars: ✭ 72 (+18.03%)
Mutual labels:  knexjs
nestjs-rest-sample
NestJS RESTful APIs Sample
Stars: ✭ 204 (+234.43%)
Mutual labels:  expressjs
Blog-Server
The backend Code of Flutter Blog App which is the part of Youtube series. It is developed using the NodeJS/ExpressJs with MongoDB Database
Stars: ✭ 33 (-45.9%)
Mutual labels:  expressjs
express-mquery
Expose mongoose query API through HTTP request.
Stars: ✭ 37 (-39.34%)
Mutual labels:  expressjs
okta-node-express-typescript-vue-example
Example Node.js API using TypeScript, Express, and Vue
Stars: ✭ 63 (+3.28%)
Mutual labels:  expressjs
firestore-store
express-session store for Firebase Cloud Firestore
Stars: ✭ 44 (-27.87%)
Mutual labels:  expressjs


Markdownify
Axe API
npm version

The fastest way to create Rest API, by defining database models and relations.

Axe API has great documentation. Please check it out in here.

What Is Axe API?

Axe API is the fastest way to create Rest API by defining only database models and relationships between them. It is built on Knex.js, and its awesome active records pattern. On the other hand, you have another familiar thing, Express.

You are going to be able to develop an API 10 times faster with Axe API!

How It Works?

Express and Knex.js are great tools to create Node.js based applications. But usually, we code too much the same things to design an API. We aim to reduce code duplication and give you speed by using Axe API.

Axe API provides you the ability to separate your common tasks to build an API from your business logic. Axe API expects model definitions to analyze your routing structure. After you created your models and their relations between them, Axe API can handle all well-known API requests. Creating an API with 5 tables takes almost 15 minutes.

Shortly, Axe API performs three basic functions;

  • Analyzes your models and their relationships to create routes.
  • Handles all HTTP requests.
  • Separate your business logic from API best practices.

Let's assume that you have a model like this;

import { Model } from "axe-api";

class User extends Model {}

With this model, you will have all of the basic API routes for User resources. Axe API will create CRUD routes for you in the booting process and these routes would be completely ready to be handled and processed by Axe API. The following routes will be handled automatically;

  • POST api/users
  • GET api/users
  • GET api/users/:id
  • PUT api/users/:id
  • DELETE api/users/:id

This is the magic of Axe API!

Installation

Using Axe API in an application is very easy. We've created a CLI tool for you; axe-magic.

You can create a new Axe API project by using axe-magic. But first, you can install it in your development environment. When you installed it, you can be able to access axe-magic command via CLI. You can use the following command to install axe-magic to your machine;

$ npm i -g axe-magic
$ axe-magic --version
1.0.0

After that, creating a new project is very easy. Just you can execute the following command;

$ axe-magic new my-api

This command will pull axe-api-template project to your current directory with a new name, my-api.

To install your project's depencies, you can execute the following commands in the root directory;

$ cd my-api
$ npm install

To serve this application, you can execute the following command;

$ npm run start:dev

start:dev command use nodemon. If you haven't installed it yet, we suggest you install it first.

After that, your first Axe API application will be running in localhost:3000.

You will see the following API response if you visit localhost:3000.

{
  "name": "AXE API",
  "description": "The best API creation tool in the world.",
  "aim": "To kill them all!"
}

If you can see that response, it means that your project is running properly.

Documentation

Axe API has great documentation. Please check it out in here.

How To Run Integration Tests

You have to have Docker and Docker Compose on your local development environment to run integration tests.

Execute the following commands to prepare the integration app

cd tests/integrations && npm install && npm ci && npm run build --if-present

Execute the following commands to prepare the database;

docker-compose -f "./tests/integrations/docker-compose.mysql8.yml" up -d --build

To down the database, you can use the following command; docker-compose -f "./tests/integrations/docker-compose.mysql8.yml" up -d --build

You can execute the following command to execute tests;

npm run test:integration:mysql8

License

MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].