Unparse
An open-source clone of Parse, using Waterline as database backend and implemented with Node.js.
See https://www.parse.com/docs/rest for the REST API documentation. Unparse should be compatible with it and existing Parse SDKs (e.g. with the Javascript SDK). For a list of existing Parse SDKs (official and unofficial), see this page : https://www.parse.com/docs/api_libraries
Warning! This software is still in an early development stage. Use only for test purposes!
Features
- Creating objects
- Updating objects
- Deleting objects
- Querying objects (basic support)
- Querying objects (query contraints)
- Querying objects (relationnal queries)
- API keys and authentication
- Access Control Lists (ACL)
- Users
- Signup
- Login
- Password hashing
- Retrieving current user
- Querying users
- Updating users
- Requesting a password reset
- Deleting users
- Pointers (one-to-one)
- Relations (one-to-many)
- Roles
- Files
- Cloud functions, cloud code
Dashboard
A dashboard for Unparse is available here: https://github.com/unparse/unparse-dashboard
Running the server
Initialize the database with default classes and objects:
npm run init
Start the server:
npm run start
Using Parse Javascript SDK
You can use the official Parse Javascript SDK (quickstart) with Unparse:
ParseserverURL = 'https://api.unparse.org'; // Change this to your Unparse server URLParse; // Replace with your application ID and your Javascript API key (defined in src/config/) // You can now play around with the SDKvar TestObject = ParseObject;var testObject = ;testObject;
Note: we're maintaining a Bower package for the Parse JS SDK: https://github.com/unparse/parse-js-sdk
You can install the SDK by running
bower install parse-sdk
.
Under the hood
Classes are stored in the __Class
collection, which is present by default and is not overridable.
Default classes properties are:
objectId
: the object unique IDcreatedAt
: the object's creation dateupdatedAt
: the object's last update dateACL
: for Access Control Lists
Currently, there is only one application per server. API credentials can be modified in src/config/
.