Skip to content
This repository was archived by the owner on Aug 6, 2026. It is now read-only.

Latest commit

 

History

History
232 lines (181 loc) · 7.29 KB

File metadata and controls

232 lines (181 loc) · 7.29 KB

Archived. This stack is EOL (Ionic 3 / Cordova / Angular 4-era) and the repo no longer builds — dependency versions in package.json are mutually incompatible. For a current starter, look at Ionic 8 + Capacitor; Parse Server itself is still actively maintained, just not this integration.

Ionic Parse Server

A simple starter for integrating Ionic 3, Angular 4+ and Parse Server. It provides a small PoC (Proof of Concept) app for adding/removing scores and uses signin/signout based on Parse Server. You can just use it as the foundation for your next big app.

Stack

Screenshots

Sign in screen Home screen

Introduction

Ionic Framework

The Ionic framework allows for the creation of highly interactive, cross-platform mobile applications that can be deployed across iOS, Android, and Windows devices. These hybrid applications include native functionalities, exhaustive gestures, and customizable tools to enhance user-friendliness. Those powerful capabilities are brought to Ionic because it provides mobile-friendly HTML, JS, and CSS components to developers.

Some of its advantages are:

  • Open source
  • Code once, run on all mobile devices
  • One programming language for all mobile OS
  • Use of well-known web technologies
  • A huge community

Parse Server

Parse Server is an open source version of the Parse backend that can be deployed to any infrastructure that can run Node.js. It works with the Express web application framework and can be added to existing web applications, or run by itself. Its repository on Github is very active with ~165 contributors and ~14K stars so even if you didn't use the hosted Parse platform before, its open source version is a wise choice if you need to build a backend for you mobile app or your clients apps.

Parse offer a backend to store data, push notifications, social media integration for your app etc. The features provided tend to be helpful in prototyping quickly.

  • General Purpose: Open Source
  • Hosting: Self-hosting or Parse Server Hosting providers. Supports local testing and development
  • Custom Code: Supported via Cloud Code
  • Database: Mongo DB
  • Push: Support push notifications for Android, iOS. Also users can manage Push Notifications campaigns
  • Storage: No restricted time limits and no file storage restrictions. Control over backup, restore and database indexes
  • Ideal for: General purpose applications

File structure

ionic-parse-server/
│
├── resources/
│
├── src/
│   ├── app/
│   │   ├── app.constant.ts
│   │   ├── app.component.ts
│   │   ├── app.module.ts
│   │   ├── app.template.html
│   │   └── main.ts
│   │
│   ├── assets/
│   │   └── icon/
│   │       └── favicon.ico
│   │
│   ├── pages/
│   │   ├── about/
│   │   │   ├── about.html
│   │   │   ├── about.ts
│   │   │   └── about.scss
│   │   │
│   │   ├── account/
│   │   │   ├── account.html
│   │   │   ├── account.ts
│   │   │   └── account.scss
│   │   │
│   │   │── contact/
│   │   │   ├── contact.html
│   │   │   ├── contact.ts
│   │   │   └── contact.scss
│   │   │
│   │   │── home/
│   │   │   ├── home.html
│   │   │   ├── home.ts
│   │   │   └── home.scss
│   │   │
│   │   │── signin/
│   │   │   ├── signin.html
│   │   │   ├── signin.ts
│   │   │   └── signin.scss
│   │   │
│   │   ├── signup/
│   │   │   ├── signup.html
│   │   │   └── signup.ts
│   │   │
│   │   └── tabs/
│   │       ├── tabs.html
│   │       └── tabs.ts
│   │
│   ├── providers/
│   │   │── auth/
│   │   │   └── auth.ts
│   │   │
│   │   └── parse/
│   │       └── parse.ts
│   │
│   ├── theme/
│   │   └── variables.scss
│   │
│   └── index.html
│
├── typings/
│    └── cordova-typings.d.ts
│
├── .editorconfig                 * Defines coding styles between editors
├── .gitignore                    * Example git ignore file
├── config.xml                    * Cordova configuration file
├── ionic.config.json             * Ionic configuration file
├── LICENSE                       * MIT License
├── package.json                  * Defines our JavaScript dependencies
├── package-lock.json             * Defines our exact JavaScript dependencies tree
├── README.md                     * This file
├── tsconfig.json                 * Defines the root files and the compiler options
├── tslint.json
└── *.png                         * Images for the README.md

Quick start

  1. Install Ionic
$ npm install -g ionic cordova
  1. Install and run Parse Server
$ npm install -g parse-server mongodb-runner
$ mongodb-runner start
$ parse-server --appId APPLICATION_ID --masterKey MASTER_KEY --databaseURI mongodb://localhost/test

You can use any arbitrary string as your application id and master key. These will be used by your clients to authenticate with the Parse Server. The application id and the parse url can be changed in src/app/app.constant.ts.

  1. Fork this repository and clone it
$ git clone https://github.com/<your-user>/ionic-parse-server
  1. Navigate into the folder
$ cd ionic-parse-server
  1. Install NPM dependencies
$ npm install
  1. Run the project
$ ionic serve
  1. Navigate to http://localhost:8100 in your browser

Adding Parse Server to an existing project

  1. Go to the project directory:
cd my-project
  1. Install Parse SDK by running the following command
npm install parse --save
  1. Import Parse
import { Parse } from 'parse';
  1. Declare your parseAppId and parseServerUrl
private parseAppId: string = 'APPLICATION_ID';
private parseServerUrl: string = 'http://localhost:1337/parse';
  1. Initialize it on the constructor
constructor() {
  this.parseInitialize();
}

private parseInitialize() {
  Parse.initialize(this.parseAppId);
  Parse.serverURL = this.parseServerUrl;
}

That's all! Just create a provider, import Parse and start writing code

Contribution

  • Report issues
  • Open pull request with improvements
  • Spread the word
  • Reach out to me directly at mauriurraco@gmail.com

License

Released under the MIT License.

Support

If this project helped you, consider buying me a coffee ☕️

ko-fi