Skip to content
Héctor Ramos edited this page Mar 11, 2016 · 4 revisions

Running Parse Server for development

Normally, when you run a standalone Parse Server, the latest release that has been pushed to npm will be used. This is great if you are interested in just running Parse Server, but if you are developing a new feature or fixing a bug you will want to use the latest code on your development environment.

First, you will need to clone this repo if you haven't done so yet.

git clone https://github.com/ParsePlatform/parse-server.git

You can then link the parse-server module to the cloned repo and run npm install:

npm link parse-server path/to/cloned/repo
npm install

You can now start Parse Server using npm start:

npm start -- --appId APPLICATION_ID --masterKey MASTER_KEY --serverURL http://localhost:1337/parse

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
  • FileLoggerAdapter.js - LoggerAdapter for logging info and error messages into local files (default)
  • functions.js - handle the /functions routes
  • GridStoreAdapter.js - FilesAdapter for storing uploaded files in GridStore/MongoDB (default)
  • installations.js - handle the /installations routes
  • LoggerAdapter.js - Interface for allowing the underlying logging transport to be changed
  • 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
  • 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

Contributing

We really want Parse to be yours, to see it grow and thrive in the open source community. Please see the Contributing to Parse Server notes.

Clone this wiki locally