Skip to content

martinteaching/easyapi

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EasyAPI

This repository contains the implementation of my final year project conducted as part of my Computer Science BSc degree at King's College London.

The process of developing APIs requires extensive programming and technical experience. EasyAPI uses more accessible methods to enable anyone to create an API with an underlying database. Firstly, you can build a database from a description of a domain written in natural language. The database schema is extracted by utilising dependency parsing with SpaCy and tree traversing to extract entities and relationships. Alternatively, the database schema can be extracted from a spreadsheet. (Project report)

Demo

Setup

The following dependencies are required:

  • Postgres database (configurable in backend/src/config/connections.js)
  • Yarn
  • Pipenv

Clone this repository:

git clone https://github.com/martinhartt/easyapi
cd easyapi

Install NLP dependencies:

cd backend/src/nlp
pipenv install
pipenv shell
python -m spacy download en

Install backend server dependencies:

cd backend
yarn install

Install frontend dependencies:

cd frontend
yarn install

Run

Start the following processes separately:

Run NLP server:

python3 backend/src/nlp/index.py

Run backend server:

cd backend && yarn start

Run frontend application:

cd frontend && yarn start

Open http://localhost:3000

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 96.5%
  • Python 2.7%
  • Other 0.8%