I worked on the renewal of the parents and students area. The project involved developing a new React Native app and a complete rewrite of the web app. Both the mobile and web apps share the same core technologies: written in TypeScript, React with Hooks and Context API for state management, Jest and Testing Library as testing tools. For the web app, we adopted a micro-frontend approach for flexible integration with legacy code and an independent deploy pipeline.
I developed the native iOS app, using the Swift language and iOS Storyboards. Push notifications, image sharing and real time chat are some of the most interesting app capabilities.
I designed and developed the AWS cloud serverless architecture made of C# lambda functions. Data is stored on DynamoDB, files and videos on S3. Videos are compressed using Elastic Transcoder.
I designed and developed the REST API serving the React frontend to which I contributed partially. ASP.NET Web API heavily leverages Entity Framework and Linq. It also retrieves and processes data from an instance of Microsoft Analysis Services.
I developed the native iOS app using the Swift Language, Core Data, and UIKit. The core of this app is a dynamic set of linked forms. The following list is a requirements overview.
- Each form is displayed only if the data on the previously completed forms meets some pre-conditions.
- A form may depend on the data of some fields on previously filled in forms.
- Each form needs to be validated before proceeding to the next form.
- If updating an intermediate form, proceeding to the next step requires a cascade update.
The solution I found is a completely platform independent recursive algorithm - we used the same algorithm for the Android app.
This is the first project I have done as a freelance. I developed the native Android app and the PHP Rest API. In this project I have used and learned many of the APIs of the Android operating system: from Activities and XML layouts to SQLite and file system but also Intents, background tasks, Receivers, Google Maps, GeoFence API. This project is now archived.