Download the PHP package pronto/mobilebundle without Composer
On this page you can find all versions of the php package pronto/mobilebundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download pronto/mobilebundle
More information about pronto/mobilebundle
Files in pronto/mobilebundle
Package mobilebundle
Short Description A CMS bundle for mobile solutions
License MIT
Informations about the package mobilebundle
ProntoMobileBundle
Table of contents
- Installation
- Upgrades
- Configuration
- API Docs
Installation
Step 1. Install the skeleton
Open a command console and execute the following command to create a new project inside the folder:
This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.
Step 2: Setup the database
Update your database connection inside the .env
file to match your configuration:
Then, create the database schema:
And run the fixtures to provide initial data:
This creates a first customer of the CMS, along with a super administrator.
Step 5: Test logging in
When you ran php bin/console doctrine:fixtures:load
, a customer with application and user account where created.
You can test your application by installing the web-server-bundle, which allows you to start a server and view your application at http://localhost:8000
. You can do this by installing the web-server-bundle:
And then running this command to start the server:
You can now check if you're able to login at http://localhost:8000/login
with the following credentials: [email protected] and password admin.
Step 6: Setup Firebase integrations
We use Firebase to send our push notifications and store information in the Firebase database. This information contains sign-ins of devices and app users. At a regular interval, these records are being fetched from the Firebase database and updated into the database of the CMS. This method is used to prevent a lot of requests to your server.
The CMS also stores notification templates in the cloud storage of Firebase. When a user receives a notification, there might be an html template which is being opened. That template is also retrieved from Firebase.
At last, APNS tokens need to be converted to Firebase tokens for iOS devices to be able to receive the notifications.
6.1 Create a Firebase project
You can do this by going to the Firebase Console and logging in with your Google account. You can now create a new project. After you have done this, you will be redirected to the project overview.
6.2 Create a new private key
Click on the settings icon and choose "Project settings". Next, click on the tab "Service accounts". You now have the ability to create a new private key. When you click this button, a service-account file will be downloaded.
For the MobileBundle to connect to your Firebase project, you need to rename this file to: google-service-account.json
and place it in the root of your project.
Upgrades
Most of the upgrades of the bundle do not require any changes for your main project. When changes are needed, they are listed here.
v1.6.* to v1.7.0
The service configuration is slightly changed in this version. When using Twig in your package, you'll need to update your packages/twig.yaml
file:
MobileBundle configuration
The MobileBundle configuration is available in the config/packages/pronto_mobile.yaml
file. At the moment, there are not a lot of options here.
Domain name
The domain is important for sending the emails. The domain name you provide here is the domain mails are being send from. So, with the default value, mails are sent from: [email protected]
.
Upoads folder
This option is quite obvious. You can specify in which folder the uploads are being stored. This also means that for now, the only storage option is local.
Firebase: Storage decryption password
This is the password that's being used to decrypt values from the logging table inside the Firebase Realtime Database. For obvious reasons, this value needs to be the same as the one you provide in the Android and iOS sdk of the MobileBundle.
Cronjobs
There are three cronjobs which need to run in the background to send push notifications, retrieve logging from Firebase and convert APNS tokens to Firebase tokens. Below are the commands you need to register on your server for these tasks to be executed in the background. You are free to change the interval at which they are executed.
API Docs
Postman
A public Postman collection is available, with the currently available API routes.
APIDoc JS
The MobileBundle uses apidocjs to generate API docs. The docs are located inside the public/apidoc
folder.
OAuth2
The API docs don't list the routes for OAuth. The Android and Mobile sdk of the MobileBundle both use OAuth to connect to the API. If you're not familiar with OAuth, I suggest you visit https://www.oauth.com to get yourself up to date.
The routes for requesting an access token is: https://yourdomain.app/oauth/v2/token
. You can request an access token by using the client credentials, or using the username and password combination of an app user.
Request access token: Client Credentials
Documentation:https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/
Request access token: Username and password
Documentation:https://www.oauth.com/oauth2-servers/access-tokens/password-grant/
All versions of mobilebundle with dependencies
troovers/browser Version ^1.1
ramsey/uuid Version ^3.9
doctrine/orm Version ^2.17
awps/font-awesome-php Version ^4.7
guzzlehttp/guzzle Version ^7.8
kreait/firebase-php Version ^7.0
league/flysystem Version ^1.0
symfony/translation Version ^6.4
symfony/orm-pack Version ^1.0
symfony/form Version ^6.4
symfony/twig-bundle Version ^6.4
symfony/templating Version ^6.4
symfony/validator Version ^6.4
symfony/serializer Version ^6.4
doctrine/doctrine-fixtures-bundle Version ^3.0
symfony/proxy-manager-bridge Version ^6.4
symfony/expression-language Version ^6.4
composer/semver Version ^3.4
symfony/dotenv Version ^6.4
symfony/mime Version ^6.4
myclabs/php-enum Version ^1.7
nyholm/psr7 Version ^1.3
symfony/security-bundle Version ^6.4
league/oauth2-server-bundle Version ^0.5
symfony/routing Version ^6.4
symfony/mailer Version ^6.4
symfony/cache Version ^6.4
google/auth Version ^1.33