Project Summary.
Database is an essential part of any application whether it is desktop, mobile or web based application. Modern applications need data every time. Devices used today are on battery and are portable so continuous network connectivity is impossible, some applications use very large database which is impossible to put on each client’s device.
uBase is a complete backend solution from designing of database to using it on client devices with REST full APIs ,offline accessibility and synchronization. It contains a GUI tool to create model of database and also provides ease to perform CRUD (Create, Read, Update, and Delete) functions to use their database according to their need without the headache of Queries to be executed.
GUI tool will be developed on loopback (a node.js framework), loopback provides command line tools to create data models and Rest APIs. GUI tool will be developed using web technologies and needs Node.js server to run, so it will be accessible remotely.
Project Objectives:
- The main objective of our application is to control and manage backend of any application.
- Generate Rest full APIs whatever the data source you want to connect, because uBase is compatible with all major data sources i.e. MySQL, Oracle, MongoDB, Postgres and others.
- In the absence of connectivity with network isomorphic JavaScript (same JavaScript code on server and client) will save the data on local storage and synchronization of data while client is connected to network.
- As uBase will handle complete backend of any application at any platform so it will be very helpful to front-end developers to quickly develop real time applications.
- Monitoring the client’s calls to API.
- Push Notifications on client’s device on specific data change.
Benefits of the Project
- For ease and to remove complications we will design an interface which is comprehensive and friendly to create models and manage backend of any application.
- As devices are not always connected to network, so data will be stored on local machine. And when device found to be connected with network, data will be synchronized with centralized data.
- Connect to multiple data sources or services and get back an abstracted model with CRUD capabilities independent on how it is physically stored. Works on the principle of Abstraction.
- To simplify data access from different platforms, GUI tool will generate REST, and native client APIs for different platform e.g. Android and iOS. Using these APIs, apps can query databases, store data, upload files, and perform other actions provided by data sources and services.
- Push notification feature provides instant information about any update done in the data source. Such notifications may include any update in database or custom text alerts. Push notifications let application notify user of new messages or events even when the user is not actively using application.
- Push notification feature can be used to easily build chat applications