Build an app with Flask and Oracle Mobile Cloud Service

Team Synapse is Josh Cohen, Jacob Hoffman, Jordan Hank, and John Morgan, four Stanford University computer science majors with a shared interest in using computer science for the social good. They invite you to contribute to the Synapse project on GitHub. At Synapse, weve been developing a low data app designed to crowdsource, verify, and redistribute information in the aftermath of a disaster. While our particular use case presented special challenges, like minimizing the size of requests and the number of round trips required to fetch new information, many of our goals were the same as for any large-scale mobile web application. Along with a scalable, cloud-based back end, we wanted a stack that would allow us to be device agnostic, to plug in information from many different sources, to handle large amounts of data, and to manage requests as simply and efficiently as possible. To meet these goals, we used React Native for the client, Flask for the API, and MySQL for the database. In between the back end and the client, there is one more important layer: Oracle Mobile Cloud Service. We used Mobile Cloud Service to simplify the management of client requests, to keep requests and responses as small as possible, and to easily track key performance indicators through Oracles built-in services. In this article, we will guide you through setting up the environment, defining an API with Flask, deploying on Mobile Cloud Service, and making custom requests from the client. These instructions arent specific to the Synapse app, but can serve as the foundation for most any mobile web app. If you want to learn more about the Synapse app, you can read about it here. Note that we spun up our Flask API with SQLAlchemy on an Oracle Compute VM. This RESTful framework let us have endpoints to easily query our MySQL database, and then package that information as necessary and forward it on. If you would prefer to use a different SQL database, chances are SQLAlchemy supports it. Just find the appropriate dialect here.

Read Full Article at

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,