Applies to. Does not apply to. We updated Core5 this summer, and system requirements changed. Older versions of the Core5 iPad app were retired in July You will no longer be able to use iPad versions below 4.
On Android the device simulator must be launched manually :. Note: the app uses CocoaPods, the project to run is therefore ItaliaApp. For the release of the app on the stores we use Fastlane. The beta distribution is done with TestFlight. Note: the alpha releases on Android are automatically carried by the alpha-release-android job on circleci on each by merge to the master branch.
To develop the application on your machine using the Backend App and an IDP test, you need to follow some additional steps as described below. If you prefer a light way to run IO app backend, you should consider using io-dev-api-server. Note: about SPID, io-dev-api-server acts a pass throught so you can't test it.
Follow the documentation of the repository italia-backend. To avoid this problem, it is possible to locally install a Proxy that acts as a proxy-pass to the Backend App and the IDP. Mitmproxy is a simple proxy to use and is also suitable for our purpose. For installation, follow the documentation page on the official website.
Start the proxy with the following command:. Install certificate mitmproxy within the emulator following the official guide. It is super easy to setup and run. Here you can find all instructions. It can be used as it is, or you can run it using the docker image. It is a pre-filled config file ready to use with the local server. To use it, just run these commands:. Follow this tutorial. The application uses a custom handler to intercept and notify javascript errors caused by unhandled exceptions.
The application uses the library react-native-offline to monitor the connection status. In case of no connection, a bar is displayed that notifies the user. The connection status is kept inside the Redux store in the variable state. The application is able to manage deep links. The application uses the font Titillium Web. Fonts are handled differently than Android and iOS.
The application uses a custom font-icon from the name 'io-icon-font'. Thanks to the library react-native-vector-icons which is included in the project, it is possible to create new IconSets. In particular, among the various methods shown in the appropriate section of the documentation, we decided to use the one that allows to export the font through IcoMoon.
When exporting from IcoMoon , you should use the configuration shown in the following picture. To update the icon-font to a new version, it is necessary to extract and correctly position the following two files from the archive '. Once the two files have been copied, it is necessary to update the link of the asset by installing globally and running react-native-asset version 1. This last command deals in particular with copying the asset within a specific folder of the Android sub-project.
The application uses native-base and its components for the graphical interface. In particular, we decided to use as a basis the theme material provided by the library. Although native-base allows to customize part of the theme through the use of variables, it was nevertheless necessary to implement ad-hoc functions that allow to go to modify the theme of the individual components.
The native-base library defines the theme of each individual component in a separate. For example, the theme file related to the component Button is named Button. Every file in this directory must export an object that defines the components theme. Take the file Content. A more complex example allows you to use the advanced features of the native-base theming layer.
Within the theme file of a single component, it is possible to define specific attributes that will be used only if this specific component has a specific property. By defining in the theme object something like:. Another advanced function allows to define the theme of the child components starting from the parent component.
Let's take as an example the following code fragment of a generic component:. The native-base library allows you to define the appearance of the child component Text present in the parent Button. In this case, what is defined within the attribute NativeBase. Text will be used only if the button has associated a property with a name small. A simple wrapper in which you can insert an icon and a text that will be rendered side by side. If, during the archive process, you see one or more warning like this Skip to content.
Star IO, l'app dei servizi pubblici io. View license. This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. Branches Tags. Could not load branches. Could not load tags. Latest commit. Git stats 4, commits. Failed to load latest commit information. Mar 24, Mar 15, Apr 19, Feb 10, Mar 29, Oct 8, Nov 19, Apr 14, Apr 21, Mar 2, Generata app react-native. Feb 28, Jul 13, Apr 5, Sep 1, Aug 18, May 19, Apr 10, Sep 30, Aug 12, Jun 21, Aug 30, Jul 2, Nov 28, Apr 1, Apr 4, Developers interested in testing the technology for themselves upload their simulator build to App.
The company is still exploring how to charge developers, and is considering a number of models, including CPI cost per install , CPM cost per thousand , CPCV cost per converted viewer and even possibly a new model based on the LTV lifetime value of the user. For consumers, the ad experience begins as either a banner or interstitial which, when tapped, launches into a full-screen playable game.
Users can then play the game for a set amount of time, then a full-screen conversion button appears prompting the user to download the app from the App Store to keep playing. If they want to buy the game, they can tap that screen to go to the App Store and install the app to their mobile device.
Interested developers are being invited to trial the ads.
New releases. Add to Wishlist. Translate the description back to Italian Italy Translate. IO permette di interagire facilmente e in modo sicuro con diverse Pubbliche Amministrazioni italiane, locali o nazionali, raccogliendo tutti i loro servizi, comunicazioni e pagamenti e in un'unica app. IO allows you to easily and securely interact with various Italian, local or national Public Administrations, collecting all their services, communications and payments in a single app.
In particular, through IO you can: - receive your COVID Green Certifications; - receive relevant messages and communications from public, local or national bodies; - remember and manage your deadlines to the Public Administration, adding reminders directly to your personal calendar; - receive payment notices, with the ability to pay services and taxes from the app in seconds directly from the message or via QR scan of the paper notice ; - keep track of your payments to the Public Administration, thanks to the history of the operations carried out.
After the first registration, you will be able to log in more easily by typing the PIN chosen by you or by biometric recognition fingerprint or face recognition , while maintaining secure authentication. You have to include external routes to an app. You loaded some external sources to an app. There are some other options to configure an app.
Let's try to render a view in this file. By default, app. The meta key is used to give extra information about the response. If the request is succesful and everything is ok, you will receive a response with data. If the data you are looking for is not found, you will receive a error response. If the data you send to a resource is not valid, you will receive a error response. If you don't have a proper permission on a resource, or if you don't send a X-Access-Token header that is required by the resource, you will receive a error response.
If something is wrong about any authentication endpoint, you will receive a error response. If something is wrong about the server, you will receive a error response. You will receive a response to a POST request that results in a creation.
If you don't have a proper permission on a resource, you will receive a error response. You can create any role you want, and select the methods you want to give access to any resources; such as, get , post , put , delete. You can use the admin UI for this process. If you want a strict control on the permissions, you can use the config file. Models are the core of the app. You can use all Mongoose field options.
Mongoose based options are;. Along with those field options, there are many other loader options. The loader options add new abilities that have not been in Mongoose. You have to pass a Mongoose schema object to the app. With the Options key you can configure admin UI options. Here are the list of the properties;. Denormalizing data from another model is very simple with the Denorm key. If the reference data you have normalized before is updated; the model loader also updates your denormalized data.
There are two ways of denormalizing the reference model data:. Then we can set the fields. We can set this fields option like this;. Don't forget to add a field for the denormalized data. You have to select the Mixed type. Write the name of the reference model to the from option. With this kind of protection the ownership of the document is not guaranteed. If you have a users or a profiles field on your model, and if you want to guarantee that the owner of the request is also the owner of the document, then you have to use the Owner key.
Masking the data is one of the important features. You have to use the Mask key to mask the data. You can configure the masking options according to an HTTP method, and, according to the role or the ownership level as well. The available levels for an HTTP method are; master , owner , user , guest. Sometimes you may need the count in a reference model. We have the test. If you create a test. Just add a field on the test. Use the CountRef key to set the reference counting on the test.
Our test. If the comment is removed, then the model loader updates the count. If you want to count the size of a field that has a reference, then you can use the Count key. It stores the count of the data in the reference collection of the source field. If you have an array field, and if you want to store the size of that array on the document itself, then you can use the Size key.
Mongodb doesn't give the size of an array by default; in order to get the array size, you have to execute an aggregation query. The Size key is simplifies this process. For example;. If you have a tags field on the test.
If you want to push the value of a field to a collection on another reference model, then you can use the Hook key. They are used in the app. You can use any predefined model you want, or use them as a reference on your models, it's up to you. If you want to cache your data on Redis for faster response times, you can use the cacheKey query parameter. Most of them are included by default.
You have to enable some of the middlewares in order to use them. The Web application part of app. They are used on the resource endpoints, authentication endpoints, etc. Feel free to use them on your endpoints. You can find them in the middle directory, and you can use a middleware like this; app. Write your models and start to manage your data immediately. You can also manage multiple applications from the admin UI. System models are automatically filtered with the active application ID. Look at the Admin UI Options section for detailed options.
After the first registration, you will be able to log in more easily by typing the PIN chosen by you or by biometric recognition fingerprint or face recognition , while maintaining secure authentication. IO is a project that grows day by day, also thanks to the feedback from citizens: if you see something that doesn't work or that you think could be improved when using it, you can report it through the appropriate tools in the app. Many new features will be released in the coming months: follow the project roadmap on the io.
Reviews Review policy and info. View details. Flag as inappropriate. Visit website. Do you see the response? You receive response, because app. Let's allow posting an object for test. Fill in the form. Try again on your HTTP client. Do you see the response now? You received response, because app. Fill in the parameters and try again.
Oh yeah, you received response now! In order to get a list of objects, as shown above, you must allow getting objects for the test. We used Guest user on the examples above. However, we need authenticated users in real life.
You can use authentication endpoints that are ready in app. Before using authentication endpoints, you need a Client Id and a Client Secret. All authentication endpoints require this information. Create a client. If the Client Id and the Client Secret fields are empty, app. Authentication endpoints require a Client Id and a Client Secret. Before using authentication endpoints, be sure that you have enabled endpoints in the config file; otherwise, you will receive response.
Before using this endpoint, don't forget to enable it. Example response for a login request;. We used Guest user at all examples above. Now we will try to use test. Remove the action for the Guest user, which we had created before.
Now create an action for the User role. We have Get and Post permissions for the User role on the test. We have to send a X-Access-Token header to make authenticated requests. If we don't send this header, we will receive response. You have learned the core and the most important concepts of app. However, this is yet the tip of the iceberg. Next, we will learn details about app. You know that you can use the app object and other app.
Adding a new route is simple. Add your route like this;. You have to include external routes to an app. You loaded some external sources to an app. There are some other options to configure an app. Let's try to render a view in this file. By default, app. The meta key is used to give extra information about the response.
If the request is succesful and everything is ok, you will receive a response with data. If the data you are looking for is not found, you will receive a error response. If the data you send to a resource is not valid, you will receive a error response. If you don't have a proper permission on a resource, or if you don't send a X-Access-Token header that is required by the resource, you will receive a error response. If something is wrong about any authentication endpoint, you will receive a error response.
If something is wrong about the server, you will receive a error response. You will receive a response to a POST request that results in a creation. If you don't have a proper permission on a resource, you will receive a error response. You can create any role you want, and select the methods you want to give access to any resources; such as, get , post , put , delete. You can use the admin UI for this process. If you want a strict control on the permissions, you can use the config file.
Models are the core of the app. You can use all Mongoose field options. Mongoose based options are;. Along with those field options, there are many other loader options. The loader options add new abilities that have not been in Mongoose. You have to pass a Mongoose schema object to the app. With the Options key you can configure admin UI options. Here are the list of the properties;. Denormalizing data from another model is very simple with the Denorm key. If the reference data you have normalized before is updated; the model loader also updates your denormalized data.
There are two ways of denormalizing the reference model data:. Then we can set the fields. We can set this fields option like this;. Don't forget to add a field for the denormalized data. You have to select the Mixed type. Write the name of the reference model to the from option.
IO permette di interagire facilmente e in modo sicuro con diverse Pubbliche Amministrazioni italiane, locali o nazionali, raccogliendo tutti i loro servizi. basictutorialonline.com streams your mobile apps from the cloud to any device. Nothing to download. Device agnostic. No custom code. The fastest, easiest way to give people. basictutorialonline.com (previously Kickfolio) is an interactive, HTML5 mobile development & marketing tool that allows customers to play with iPhone and iPad apps directly.