{"id":25965773,"url":"https://github.com/ParsePlatform/parse-server-example","last_synced_at":"2025-03-04T22:01:53.050Z","repository":{"id":37550214,"uuid":"50612192","full_name":"parse-community/parse-server-example","owner":"parse-community","description":"Example of Parse Server using the express framework.","archived":false,"fork":false,"pushed_at":"2024-10-29T10:22:21.000Z","size":2235,"stargazers_count":1891,"open_issues_count":18,"forks_count":5440,"subscribers_count":94,"default_branch":"master","last_synced_at":"2024-10-29T17:58:51.370Z","etag":null,"topics":["hacktoberfest","parse-platform","parse-server"],"latest_commit_sha":null,"homepage":"http://parseplatform.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/parse-community.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"parse-community","patreon":null,"open_collective":"parse-server","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2016-01-28T20:40:47.000Z","updated_at":"2024-10-29T10:22:28.000Z","dependencies_parsed_at":"2023-09-24T05:08:58.646Z","dependency_job_id":"978e3c9b-5c0d-4c82-97c2-b6c455a84131","html_url":"https://github.com/parse-community/parse-server-example","commit_stats":{"total_commits":176,"total_committers":48,"mean_commits":"3.6666666666666665","dds":0.6761363636363636,"last_synced_commit":"a7961b593e8d52d211a6ca9fe95dab3d002e2aca"},"previous_names":["parseplatform/parse-server-example"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parse-community%2Fparse-server-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parse-community%2Fparse-server-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parse-community%2Fparse-server-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parse-community%2Fparse-server-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parse-community","download_url":"https://codeload.github.com/parse-community/parse-server-example/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241928529,"owners_count":20043821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","parse-platform","parse-server"],"created_at":"2025-03-04T22:00:46.069Z","updated_at":"2025-03-04T22:01:53.044Z","avatar_url":"https://github.com/parse-community.png","language":"JavaScript","funding_links":["https://github.com/sponsors/parse-community","https://opencollective.com/parse-server"],"categories":["Apps deployable on Scalingo"],"sub_categories":["Apps deployed without adaptation"],"readme":"![parse-repository-header](https://user-images.githubusercontent.com/5673677/169108275-8efa0dae-4997-4ddc-9c12-88a9c4c42e31.png)\n\n---\n\n[![Build Status](https://github.com/parse-community/parse-server-example/workflows/ci/badge.svg?branch=master)](https://github.com/parse-community/parse-server-example/actions?query=workflow%3Aci+branch%3Amaster)\n[![Snyk Badge](https://snyk.io/test/github/parse-community/parse-server-example/badge.svg)](https://snyk.io/test/github/parse-community/parse-server-example)\n[![auto-release](https://img.shields.io/badge/%F0%9F%9A%80-auto--release-9e34eb.svg)](https://github.com/parse-community/parse-server-example/releases)\n\n[![Join The Conversation](https://img.shields.io/discourse/https/community.parseplatform.org/topics.svg)](https://community.parseplatform.org/c/parse-server)\n[![Backers on Open Collective](https://opencollective.com/parse-server/backers/badge.svg)][open-collective-link]\n[![Sponsors on Open Collective](https://opencollective.com/parse-server/sponsors/badge.svg)][open-collective-link]\n[![License][license-svg]][license-link]\n[![Forum](https://img.shields.io/discourse/https/community.parseplatform.org/topics.svg)](https://community.parseplatform.org/c/parse-server)\n[![Twitter](https://img.shields.io/twitter/follow/ParsePlatform.svg?label=Follow\u0026style=social)](https://twitter.com/intent/follow?screen_name=ParsePlatform)\n\n---\n\nThis is an example project using the [Parse Server](https://github.com/ParsePlatform/parse-server) module on Express.\n\n\nThe [Parse Server guide](https://docs.parseplatform.org/parse-server/guide/) is a good place to get started. An [API reference](https://parseplatform.org/parse-server/api/) and [Cloud Code guide](https://docs.parseplatform.org/cloudcode/guide/) are also available. If you're interested in developing for Parse Server, the [Development guide](https://docs.parseplatform.org/parse-server/guide/#development-guide) will help you get set up. All documentations for Parse Platform's server and its client SDKs are available at [parseplatform.org](https://parseplatform.org). \n\n---\n\n- [Local Development](#local-development)\n  - [Helpful Scripts](#helpful-scripts)\n- [Remote Deployment](#remote-deployment)\n  - [Heroku](#heroku)\n  - [AWS Elastic Beanstalk](#aws-elastic-beanstalk)\n  - [Microsoft Azure App Service](#microsoft-azure-app-service)\n  - [Google App Engine](#google-app-engine)\n  - [Scalingo](#scalingo)\n  - [OpenShift Online (Next Gen)](#openshift-online-next-gen)\n- [Using Parse Server](#using-parse-server)\n  - [Health Check](#health-check)\n  - [APIs and SDKs](#apis-and-sdks)\n    - [REST API](#rest-api)\n    - [JavaScript](#javascript)\n    - [Android](#android)\n    - [iOS / tvOS / iPadOS / macOS (Swift)](#ios--tvos--ipados--macos-swift)\n\n# Local Development\n\n1. Make sure you have a compatible Node.js version installed. Run `node --version` to see your local Node.js version. Open the `package.json` file too see which version of Node.js this example repository requires at `{ engines\": { \"node\": \"\u003cNODE_VERSION\u003e\" } }`. Note that there may be other Parse Server version available that support older or newer Node.js versions, see the [Parse Server compatibility table](https://github.com/parse-community/parse-server#compatibility).\n2. Clone this repository and change directory to it.\n3. Run `npm install`.\n4. Install a MongoDB database locally from https://docs.mongodb.org/master/tutorial/install-mongodb-on-os-x.\n5. Run `mongo` to connect to your database, just to make sure it's working. Once you see a mongo prompt, exit with `Control-D`.\n6. Launch Parse Server with `npm start`.\n7. By default the API route will use `/parse` as a base. You can change this by setting the environment variable `PARSE_MOUNT`, for example in the CLI run run `export PARSE_MOUNT=/app` to set the path to `app`.\n8. Your Parse Server is not running and is connected to your local database named `dev` in which the data is stored that you manage via Parse Server.\n\n## Helpful Scripts\nThese scripts can help you to develop your app for Parse Server:\n\n* `npm run watch` will start your Parse Server and restart if you make any changes.\n* `npm run lint` will check the linting of your cloud code, tests and `index.js`, as defined in `.eslintrc.json`.\n* `npm run lint-fix` will attempt fix the linting of your cloud code, tests and `index.js`.\n* `npm run prettier` will help improve the formatting and layout of your cloud code, tests and `index.js`, as defined in `.prettierrc`.\n* `npm run test` will run any tests that are written in `/spec`.\n* `npm run coverage` will run tests and check coverage. Output is available in the `/coverage` folder.\n\n# Remote Deployment\n\n## Heroku\n\n[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy)\n\nAlternatively, to deploy manually:\n\n* Clone the repo and change directory to it\n* Log in with the [Heroku Toolbelt](https://toolbelt.heroku.com/) and create an app: `heroku create`\n* Use the [mLab addon](https://elements.heroku.com/addons/mongolab): `heroku addons:create mongolab:sandbox --app YourAppName`\n* By default it will use a path of /parse for the API routes.  To change this, or use older client SDKs, run `heroku config:set PARSE_MOUNT=/1`\n* Deploy it with: `git push heroku master`\n\n## AWS Elastic Beanstalk\n\n\u003ca title=\"Deploy to AWS\" href=\"https://console.aws.amazon.com/elasticbeanstalk/home?region=us-west-2#/newApplication?applicationName=ParseServer\u0026solutionStackName=Node.js\u0026tierName=WebServer\u0026sourceBundleUrl=https://s3.amazonaws.com/elasticbeanstalk-samples-us-east-1/eb-parse-server-sample/parse-server-example.zip\" target=\"_blank\"\u003e\u003cimg src=\"https://d0.awsstatic.com/product-marketing/Elastic%20Beanstalk/deploy-to-aws.png\" height=\"40\"\u003e\u003c/a\u003e\n\nAlternatively, deploy your local changes manually:\n\n* Clone the repo and change directory to it\n* Log in with the [AWS Elastic Beanstalk CLI](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install.html), select a region, and create an app: `eb init`\n* Create an environment and pass in MongoDB URI, App ID, and Master Key: `eb create --envvars DATABASE_URI=\u003creplace with URI\u003e,APP_ID=\u003creplace with Parse app ID\u003e,MASTER_KEY=\u003creplace with Parse master key\u003e`\n\n## Microsoft Azure App Service\n\n[![Deploy to Azure](https://azuredeploy.net/deploybutton.png)](https://portal.azure.com/#create/Microsoft.ParseServer)\n\nDetailed information is available here:\n* [Parse Server with Azure Managed Services](https://azure.microsoft.com/en-us/marketplace/partners/microsoft/parseserver/)\n* [Parse Server Azure Blog Post](https://azure.microsoft.com/en-us/blog/announcing-the-publication-of-parse-server-with-azure-managed-services/)\n\n## Google App Engine\n\n1. Clone the repo and change directory to it \n1. Create a project in the [Google Cloud Platform Console](https://console.cloud.google.com/).\n1. [Enable billing](https://console.cloud.google.com/project/_/settings) for your project.\n1. Install the [Google Cloud SDK](https://cloud.google.com/sdk/).\n1. Setup a MongoDB server.  You have a few options:\n  1. Create a Google Compute Engine virtual machine with [MongoDB pre-installed](https://cloud.google.com/launcher/?q=mongodb).\n  1. Use [mLab](https://mlab.com/google/) to create a free MongoDB deployment on Google Cloud Platform (only US-central).\n1. Modify `app.yaml` to update your environment variables.\n1. Delete `Dockerfile`\n1. Deploy it with `gcloud preview app deploy`\n\nA detailed tutorial is available here:\n[Running Parse server on Google App Engine](https://cloud.google.com/nodejs/resources/frameworks/parse-server)\n\n## Scalingo\n\n[![Deploy to Scalingo](https://cdn.scalingo.com/deploy/button.svg)](https://my.scalingo.com/deploy)\n\nAlternatively, to deploy manually:\n\n* Clone the repo and change directory to it\n* Log in with the [Scalingo CLI](https://cli.scalingo.com/) and create an app: `scalingo create my-parse`\n* Use the [Scalingo MongoDB addon](https://scalingo.com/addons/scalingo-mongodb): `scalingo addons-add scalingo-mongodb free`\n* Setup MongoDB connection string: `scalingo env-set DATABASE_URI='$SCALINGO_MONGO_URL'`\n* By default it will use a path of /parse for the API routes. To change this, or use older client SDKs, run `scalingo env-set PARSE_MOUNT=/1`\n* Deploy it with: `git push scalingo master`\n\n## OpenShift Online (Next Gen)\n\n1. Register for a free [OpenShift Online (Next Gen) account](https://www.openshift.com/devpreview/register.html)\n1. Create a project in the [OpenShift Online Console](https://console.preview.openshift.com/console/).\n1. Install the [OpenShift CLI](https://docs.openshift.com/online/getting_started/beyond_the_basics.html#btb-installing-the-openshift-cli).\n1. Add the Parse Server template to your project: `oc create -f https://raw.githubusercontent.com/ParsePlatform/parse-server-example/master/openshift.json`\n1. Deploy Parse Server from the web console\n  1. Open your project in the [OpenShift Online Console](https://console.preview.openshift.com/console/):\n  1. Click **Add to Project** from the top navigation\n  1. Scroll down and select **NodeJS \u003e Parse Server**\n  1. (Optionally) Update the Parse Server settings (parameters)\n  1. Click **Create**\n\nA detailed tutorial is available here:\n[Running Parse Server on OpenShift Online (Next Gen)](https://blog.openshift.com/parse-server/)\n\n# Using Parse Server\n\n## Health Check\n\nYou can use the `/health` endpoint to verify that Parse Server is up and running. For example, for local deployment, enter this URL in your browser:\n\n\u003e [http://localhost:1337/parse/health](http://localhost:1337/parse/health)\n\nIf you deployed Parse Server remotely, change the URL accordingly.\n\n## APIs and SDKs\n\nUse the REST API, GraphQL API or any of the Parse SDKs to see Parse Server in action. Parse Server comes with a variety of SDKs to cover most common ecosystems and languages, such as JavaScript, Swift, ObjectiveC and Android just to name a few.\n\nThe following shows example requests when interacting with a local deployment of Parse Server. If you deployed Parse Server remotely, change the URL accordingly.\n\n### REST API\n\nSave object:\n```sh\ncurl -X POST \\\n  -H \"X-Parse-Application-Id: YOUR_APP_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"score\":1337}' \\\n  http://localhost:1337/parse/classes/GameScore\n```\n\nCall Cloud Code function:\n```sh\ncurl -X POST \\\n  -H \"X-Parse-Application-Id: YOUR_APP_ID\" \\\n  -H \"Content-Type: application/json\" \\\n  -d \"{}\" \\\n  http://localhost:1337/parse/functions/hello\n```\n\n### JavaScript\n\n```js\n// Initialize SDK\nParse.initialize(\"YOUR_APP_ID\", \"unused\");\nParse.serverURL = 'http://localhost:1337/parse';\n\n// Save object\nconst obj = new Parse.Object('GameScore');\nobj.set('score',1337);\nawait obj.save();\n\n// Query object\nconst query = new Parse.Query('GameScore');\nconst objAgain = await query.get(obj.id);\n```\n\n### Android\n```java\n// Initialize SDK in the application class\nParse.initialize(new Parse.Configuration.Builder(getApplicationContext())\n  .applicationId(\"YOUR_APP_ID\")\n  .server(\"http://localhost:1337/parse/\")   // '/' important after 'parse'\n  .build());\n\n// Save object\nParseObject obj = new ParseObject(\"TestObject\");\nobj.put(\"foo\", \"bar\");\nobj.saveInBackground();\n```\n\n### iOS / tvOS / iPadOS / macOS (Swift)\n```swift\n// Initialize SDK in AppDelegate\nParse.initializeWithConfiguration(ParseClientConfiguration(block: {\n  (configuration: ParseMutableClientConfiguration) -\u003e Void in\n    configuration.server = \"http://localhost:1337/parse/\" // '/' important after 'parse'\n    configuration.applicationId = \"YOUR_APP_ID\"\n}))\n```\nYou can change the server URL in all of the open-source SDKs, but we're releasing new builds which provide initialization time configuration of this property.\n\n[license-svg]: https://img.shields.io/badge/license-BSD-lightgrey.svg\n[license-link]: LICENSE\n[open-collective-link]: https://opencollective.com/parse-server\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FParsePlatform%2Fparse-server-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FParsePlatform%2Fparse-server-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FParsePlatform%2Fparse-server-example/lists"}