Skip to content
Fosco Marotto edited this page Jan 31, 2016 · 10 revisions
The development wiki for the parse-server module.

Parse Server is a new project, separate from the hosted Parse API service. Our intention is to provide and support the growth of an open-source API server, and allow new developers to benefit from the powerful Parse client SDKs regardless of where their application logic and data is stored.


Files:

  • index.js - exposes the ParseServer constructor and mutates Parse.Cloud
  • analytics.js - handle the /events routes
  • Auth.js - Auth object, created to hold config/master/user information for requests
  • batch.js - batch handling implemented for PromiseRouter
  • cache.js - simple caching for the app and user sessions
  • classes.js - handle the /classes routes
  • Config.js - Config object, storage for the application configuration and some router information
  • crypto.js - uses bcrypt for password hashing and comparison
  • DatabaseAdapter.js - Interface for allowing the underlying database to be changed
  • ExportAdapter.js - DatabaseAdapter for MongoDB (default)
  • facebook.js - helper functions for accessing the Graph API
  • files.js - handle the /files routes
  • FilesAdapter.js - Interface for allowing the underlying file storage to be changed
  • functions.js - handle the /functions routes
  • GridStoreAdapter.js - FilesAdapter for storing uploaded files in GridStore/MongoDB (default)
  • installations.js - handle the /installations routes
  • middlewares.js - Express middleware used during request processing
  • PromiseRouter.js - PromiseRouter uses promises instead of req/res/next middleware conventions
  • push.js - handle the /push route (not yet implemented)
  • rest.js - main interface for REST operations
  • RestQuery.js - RestQuery encapsulates everything needed for a 'find' operation from REST API format
  • RestWrite.js - RestWrite encapsulates everything needed for 'create' and 'update' operations from REST API format
  • roles.js - handle the /roles routes
  • Schema.js - Schema handles schema validation, persistence, and modification.
  • sessions.js - handle the /sessions and /logout routes
  • testing-routes.js - used by internal Parse integration tests
  • transform.js - transforms keys/values between Mongo and Rest API formats.
  • triggers.js - cloud code methods for handling database trigger events
  • users.js - handle the /users and /login routes

Community links:

A docker image for running parse-server quickly: https://hub.docker.com/r/instainer/parse-server

Hosting on Google App Engine: https://medium.com/@justinbeckwith/deploying-parse-server-to-google-app-engine-6bc0b7451d50

Hosting on Google Cloud Platform: https://cloud.google.com/nodejs/resources/frameworks/parse-server

Hosting on IBM Bluemix + Compose: https://developer.ibm.com/clouddataservices/2016/01/29/parse-on-ibm-bluemix/

Hosting on Kontena: http://blog.kontena.io/how-to-install-and-run-private-parse-server-in-production/

A module for emulating hosted cloud code behavior and modules: https://github.com/flovilmart/parse-anywhere

Migration tool for Push Notifications to OneSignal: https://onesignal.com/parse

(French) A guide for deploying on Docker: https://medium.com/@DidierFranc/parse-com-ferme-parse-s-ouvre-cd426118fbbd

Clone this wiki locally