Mobile Application Builder
I was the only developer working on the project.
The customer originally asked for a server-side script that would generate mobile applications based on templates.
I applied since I've been personally working in an open-source tool that makes it possible to do such custom code builders.
After first meeting with customer he then described that what was actually needed was to replace his current No-code/Low-code service (Seattle Cloud) since it was going to go offline on January 22th (though later was extended until february 28th), meaning that besides the server side script and the template, he also needed a complete Admin panel development (frontend and backend) to manage apps and customizations.
The main apps the customer needs to build through the new platform are information or media oriented (Radio, News, Quizzes, etc.) though later will need to add more templates and features. The platform should allow the customer to integrate mobile Ads to the applications.
The project itself was really challenging since the contract started on January 12th leaving only 10 calendar days to develop and deliver the MVP including the following:
- Admin panel frontend to create, manage and build mobile applications (No design, wireframes or mockups available)
- NodeJS backend for the admin panel
- Database design and implementation
- APK building server
- Cloud infrastructure planning and implementation
Full Stack development deliverables
Full Stack Development Skills
Amazon Web Services
To be able to deliver successfully the customer and I agreed that we would use any available open-source software we could find fit for the project:
Since the previous platform the user used to develop its applications had some specific mobile app architecture I had to also implement application wrappers and an import script, so the templates the customer provided (which were backups from its previous platform) would be rendered inside this application wrapper to mimic as much as possible the expected behaviour.
In the end the customer got an enterprise-grade platform which allows him to:
- Manage users
- Application projects
- Use a component based HTML editor to design and modify application templates
- Add and manage application and page templates
- Configure android builds with custom Keystores
- Upload custom Splash screen and icon
- Set the application display name, build version and code
- Upload and manage media files or even JS, CSS and HTML files that can later be referenced and used while editing or creating application pages
Each build is stored in an application specific folder on AWS S3, along with all the resources that will get bundled with the application.
The APK build server runs on a small dedicated linux server which exposes an endpoint that is only available within the virtual private cloud (VPC).
I suggested to host project and backend on Vercel but the customer insisted to have everything set up on the same cloud provider, so they are both being served through an EC2 linux instance.
The database is a PostgreSQL also hosted on an AWS Linux server (RDS).