SashiDo's Getting Started Guide - Part 1
First off, let me congratulate you on your excellent taste and welcome you on board!
If you're reading this, you're probably thinking seriously about taking SashiDo for a spin, or you've just made your choice and are about to start your incredible journey on our platform. Either way, you're in the right place, and in the next lines, I'm going to give you a short 101 that will set your app's shipment on the fastest route with SashiDo. Let's get started!
TABLE OF CONTENTS
- How to create an App with SashiDo from scratch
- How to chose the right Hosting Region
- Migrate your existing app to SashiDo
- Migrate on your own
- Migration performed by our Devs
- Choose your Parse Server Version
- Invite your team to collaborate to your projects
- Connect your Frontend to SashiDo
- App Dashboard Overview
- API Console & Rest API docs
MANAGE YOUR DATABASE LIKE A PRO
YOUR BUSINESS LOGIC a.k.a. CLOUD CODE
- Connect your SashiDo account to GitHub
- Simple Cloud Code
- Use Background Jobs to handle recurring activities
- Advanced Cloud Code
- Spread your message with Push Notifications
- Quick Emails Templates and User Facing Pages Set up
- Social Login Settings
Create your SashiDo Account
Register on SashiDo
In case you haven't signed up already for our services, you should know that we offer 45-days free trial which you can take advantage of it. The registration is super fast and requires only a valid email address and a secure password.
Pro tip: In case 45 days are not enough for you to fully test all of the awesome SashiDo features, you can take 3 mins filling out this Questionnaire to share your feedback so far and gain 7 extra free days in return.
Structure your account
Your SashiDo account's structure is of great importance not only for the development process but for security as well. There are two types of SashiDo accounts: Owner and Collaborator. To find out what is the difference between them and start your SashiDo experience with the right foot, check our article about Best Practices in Structuring SashiDo accounts.
Account Dashboard Overview
Once you're done with the registration formalities, it is time to check our beautiful and feature-rich Dashboard that allows you to manage things like a pro even if you're not a programmer yourself.
The first screen you'll see is the main section from where you'll be able to manage your account. You can either go ahead and hit the Create New App
directly or browse a bit. On the left side you have a few expanding tabs and below you can find short video intros for each:
Activate your subscription
During your trial, you can add a payment method to your account at any moment. Once the trial ends, we will only collect the initial monthly charge for the app/s you have hosted, as per our standard Pricing. If there is still no payment method added to your account at the Trial ends, access to all projects owned by you will be limited. Then the apps will be stopped and permanently deleted within the next 7 days.
Pro tip: Note that when no apps are hosted in your account and there are no Automatic Database Backups or Custom services enabled, no charges will be applied until you create an app or enable one of these features. You can continue collaborating to other applications or keep your account for future projects.
Create your first App
How to create an app with SashiDo from scratch
Creating an app with SashiDo is super fast and takes less than a minute, see for yourself:
All you need to do is press the Create New App
button, add a picture for your app (optional), give it a right name and choose your hosting region.
Pro tip: А best practice is to create separate instances for development and production, so you can safely experiment with new features before deploying to the live app. You can do this on your own by creating a second SashiDo app for development(it will be billed as per our standard Pricing), copy your Cloud Code and import your data. Still, if you need some help and want to save time, our engineers can create a development environment for you under our Custom Support Service. For more details and pricing, send us a note at support@sashido.io, and our experienced Devs would be happy to advise you.
How to chose the right Hosting Region
When creating an app on SashiDo, selecting the right hosting location that is close your target market is crucial for optimal user performance.
Currently, on our standard pricing) plans we have 2 server locations you can choose from for hosting your app - North America(Montreal) and Europe(Paris). You can do a speed test in each or see out benchmark results. We also provide plans with dedicated resources for other regions upon request, so feel free to reach out to us at support@sashido.io for a quote.
Please note that if you already have created an app in a specific region and you want to transfer it to another region there are 2 ways to go about it - migrate it yourself or contact our devs to perform the migration.
If the app is not in production and you do not need to keep the same appID, URLs, etc., you can migrate the app on your own. You have full access to the database and can export and import it with a MongoDB Client of your choice. Cloud code could be also easily transferred. Probably you already have it locally and with a simple Git push, you can upload it into the new private repo. After the code and database are cloned, if you have any files that need to be copied, you can migrate them by writing a simple script. You will also need to set the new app with the new URLs and credentials*.
Have a look at our blog post on How to create a development environment that can help you with all the steps you need to take.
In case it is a production app, and you need to keep all of its credentials (API URL, App Id, etc.), then our Devs must perform the migration. The cost for the migration depends on the hours needed to compelete, your DB size, file storage size, etc. If you are interested in this option and want to know the approximate time for the migration, just open a ticket providing the app's name and the new region you want it to be migrated to, so the Devs can evaluate and give the estimated time for completion of the process.
Of course, if you just created the app and by mistake you selected the wrong region and there is no valuable data in the app, you can simply delete it and create a new one in the correct region.
Migrate your existing app to SashiDo
In case you have an existing app that you want to migrate to SashiDo, first, you'll have to create an empty app like described in the previous step. From here on you have the below 2 general approaches to choose from:
Migrate on your own
You can perform the Database migration by yourself or with your team. You can import your data to your SashiDo app by using any MongoDB tool you like. For that, you'll need the Database connection string of your SashiDo app, which is located in Dashboard > Your App > App Settings > Security & Keys
. There are various tools you may choose to migrate the database, and it is up to your preference – GUI or command line.
Pro tip: Most of our clients prefer Studio 3T, GUI interface for MongoDB. Their Connection Manager, as well as the docs for the mongodump and mongorestore features, will be very helpful for you if you decide to choose this tool as well.
Migration performed by our Devs
You should submit a ticket through the Dashboard, specifying that you want to migrate from the current platform you're using and providing your credentials. The Migration service itself is a paid service and depending on your app specifics, like DB size, files size, etc. costs vary. Once you provide the details in the ticket our team will get back to you with a specific quote. Thus you'll also need to add your billing info to your account before the migration.
Keep in mind that these are some standard options. Based on the specifics of your app and the solution you're migrating away from, there might be some additional points to consider. For more details, send us a note at support@sashido.io, and our experienced Devs would be happy to advise you.
Pro tip: If you have Cloud Code you will need to bring it as well, the same goes for your files. Our engineers can help with files migration too, so please include their size and where you store them in your request for migration.
Choose your Parse Server Version
Each new app is created automatically in the latest stable Parse Server Version available on SashiDo. The current Parse Server Version for each app can be seen and changed from Dashboard > Your App > Runtime > Parse Server Version > Choose Version
. To reap all the benefits, Parse can offer you, make sure you keep your app running on the latest stable version available.
Pro tip: Our team has prepared an article on how to Fearlessly upgrade your SashiDo app from Parse Server v2 to v3, so please check it out for smooth transition in case you're operating on v2.
Invite your team to collaborate on your projects
To authorize a team member to interact with your app and grant access to the GitHub repo, the first thing the respective person needs to do is create a SashiDo account and connect it with his GitHub account as well.
The next step will be adding this account as a collaborator to your app, which can be easily done from Dashboard > Your App > App Settings > General
. After you fill the respective email field, click the Add
button and don't forget to hit Save Changes
that will appear, to save the App settings changes you have applied.
The person will receive an invitation for collaboration on SashiDo via email that requires confirmation. Then the app will be visible in his SashiDo Dashboard, and he'll be able to work on it, but will have limited permissions when it comes to enabling cost generating features.
Pro tip: Make sure that the co-worker you are inviting has connected his GitHub account to SashiDo beforehand. Otherwise, the invitation will not be received. If that is the case, removing and adding him again as a collaborator would trigger a resend of the invitation from Github.
Connect your Frontend to SashiDo
You can do this via the latest Parse SDKs for your preferred programming language. Make sure you update your SDKs before you start testing your application in order for your Cloud Code to work properly. Here’s a list of what you might need:
If you’re not too familiar or just getting started with Parse, what I can recommend is to check out the Official Parse documentation as well as the Parse guides for iOS, Android, Javascript, .NET etc.
App Dashboard Overview
Each project you create has a separate Dashboard you can enter from the main section:
In this space, you can see all of your apps you have created and some general details for each like Date of Creation, Hosting Region, Parse Server Version and current Engine set up.
From this screen, you can select each app and enter your personal working space with all the features and tools available for the project you have picked. Take a look at this short intro to get a sense of what power and control to await you there.
Pro tip: I recommend the first stop on your tour is the App Settings section, then I advise you ensure your app security settings are on point. Maintaining class and user permissions from the super user-friendly Dashboard is as simple as it can, but you can also manage ACLs and CLPs with Cloud Code.
API Console & Rest API docs
The API Console is an irreplaceable tool which makes communication with the Database and using the REST API a piece of cake. Not only you can freely interact with your Parse Server API's resources, but you can also export your requests to cURL. Here is a short video tutorial to get you started:
Manage your Database like a Pro
Built-in Database Browser
The DB Browser, located at the Core Section of the Dashboard, gives you easy access to your database and allows you to maintain and update your records effortlessly. You can add, delete, sort, filter, query, classify, or edit data without any programming skills needed.
Database Import & Export
In SashiDo, we strongly believe in the "no vendor lock-in" policy, and you can easily export/import any collection of your SashiDo DB as every user has remote access to their database.
Connect to the database using a MongоDB client of your choice. Here you will need the database URL which you can find in the Dashboard > Your App > App settings > Security and Keys
.
Pro tip: Like mentioned above, our go-to approach is to connect to MongoDB with Studio 3T. They have a free trial and give you an easy option to export data to CSV, export/import to JSON as well as migrate your database in BSON fоrmat.
Automatic Database Backups
To give our clients control over their database backups and also have the ability to restore them if necessary quickly, we have implemented an Automatic Database Backups feature. Our team strongly recommends activating the feature, as it will save you a lot of headaches in situations such as accidental deletion of data.
Pro tip: Have in mind that the first backup for your apps will be present 24hrs after Automatic Database Backups feature is enabled.
Files Service + mCDN
For better app performance and reduced latency, a Files Service + mCDN is enabled by default for every application hosted on SashiDo.
Files on SashiDo are not directly recorded in your database. When an entry, holding a file is created, this file is immediately saved to your private AWS S3 bucket. This action returns the file URL, which is actually what is stored in your database.
Delivery of the files is done from AWS S3 by an added MicroCDN layer with microZones support. We've chosen this particular model, to give our clients the opportunity to have a lightweight database, with faster performance and lower costs.
Pro tip: Note that the Parse Server max upload file size limit is 20MB. In certain cases, we can make the limit higher, so please if you need such modification, contact us at support@sashido.io with some more details about your specific use case.
Your Business Logic a.k.a. Cloud Code
Connect your SashiDo Account to GitHub
SashiDo gives a private GitHub repo for each app as we think it's one of the most convenient tools out there, and we've decided to integrate our platform with GitHub to ease your job. In the file README.md
you will find more useful info about what your new repo offers.
To get started with writing your business logic(Cloud Code) you should connect your SashiDo account to GitHub first. Keep in mind you can have a specific GitHub account connected to only one SashiDo account and vice versa.
Pro tip: See some best practices on how to document and manage your SashiDo Cloud Code on GitHub. And if you want to learn some extra skills related to GitHub have a look at how you can make the whole process of managing your project even easier by understanding the GitHub Flow or check how you can master GitHub issues by having a way to track bugs, tasks, and improvements efficiently.
Simple Cloud Code
The Simple Cloud Code allows you to build more complex apps by offloading some of the business logic on the server-side. You can write functions, jobs, and events that would be built directly into your Parse Server. This approach is an elegant encapsulation and abstraction layer for functionality that could be reused from every front-end code.
Even if you do not have any experience with Cloud Code, you won't have much trouble as JavaScript is very straightforward and easy to use. The official Parse docs on Cloud Code will help you build and optimize your app from day one.
Pro tip: There are specific Parse functions called Triggers used for validation, modifying objects, etc., that can be utilized only from the Cloud Code.
Use Background Jobs to handle recurring activities
Background Jobs or also known as Cloud Jobs, can be set to run at a specific interval, without any user action required like logging, user notification, monitoring, etc. They are irreplaceable when it comes to automating recurring activities like reports, scheduled crawling, or when you do not want to wait for a slow function's response to improve your app's UX. All you need to do is create a Cloud Job in your Cloud Code and set it live in just a few simple steps.
Advanced Cloud Code
The Advanced Cloud Code allows you to integrate different third-party services and libraries such as Mashape, Mailgun, etc., it also empowers you to unlimitedly expand the functionalities of your app and bring your backend to the next level by using Express.JS framework, latest Node.JS and every NPM package from www.npmjs.com.
Our team has prepared an awesome article on how to get started with Advanced Cloud code, giving a great example of a step-by-step Twilio integration. The same approach as the described one is applicable for every Cloud module regardless if you're using Android, iOS, or any other platforms, supported by SashiDo. And in the 2nd part of this tutorial, you can learn how to set up NPM packages for local development if you want to test something on your computer before deploying it in SashiDo's Cloud Code.
Pro tip: If you have mastered your Cloud Code, and more specifically Triggers, here is a very useful article on How to properly delete a file, without leaving an orphan, so you make sure you're keeping a neat and up to date database
Reach and Engage your Users
Spread your message with Push Notifications
SashiDo offers you a fully integrated Push Notifications service that allows you to ship a million messages per minute to your users FREE of charge. Our platform provides simple sending to iOS and Android devices, audiences management, and easy activities monitoring.
Here is how to kick off in just two steps:
- Add your APNS and FCM credentials from the Dashboard.
- Configure your app in no time with SashiDo's step-by-step Push Notification guides for Android and iOS.
- Set up your Installations and start sending or scheduling Push Notification from our Dashboard within just a few minutes.
Quick Email Templates and User Facing Pages Set up
Email communication is a standing part of every application, especially in cases like an email confirmation, password reset, etc. SashiDo gives you an already implemented verification process and at the same time accommodates you to personalize messages.
Get started with emails settings and continue with customizing your Email Templates and User-Facing Pages according to your needs. On top of that, you can ensure your users don't get lost in translation with Multilingual Email Templates and User-Facing Pages.
Social Login Settings
SashiDo has fully integrated Facebook and Twitter login, which you can enable directly from your Dashboard > Your App > App Settings > Users
.
If you are interested in any of the other 3rd party authentication supported by Parse our team will be happy to set it up for you. Send us request at support@sashid.io with the credentials for the providers that you need authentication for and the access_token (i.e., client_id & client_secret).
Check out SashiDo's Getting Started Guide - Part 2 for more guidance and awesome tips on how to take your app to the next level.
Missing what you need?
See our FAQsorChat with us