Frontend Endpoints for Database Storage
Flask • AWS • Python • ORM

Technologies & Skills:
Python, Flask, SQLAlchemy, MySQL, Gunicorn, AWS EC2, Elastic IP, Apache2, Linux server administration, DNS and virtual host configuration, RESTful API design, database schema design, backend architecture, lightweight deployment optimization.
Problem
A client required persistent data storage and retrieval from multiple user sessions through a frontend JavaScript snippet.
At the time, our team had no backend infrastructure — no database and no API endpoints — making it impossible to fulfill this requirement.
Challenges
The only areas under our control were the JavaScript snippet itself and our AWS instance.
Since our team primarily consisted of frontend developers, the backend solution had to be lightweight, easy to understand, and simple to replicate with minimal onboarding.
Additionally, it needed to accommodate varying client requests without significant reconfiguration — all while keeping AWS resource costs to a minimum.
Solution
I began by provisioning a micro EC2 instance on AWS and mapping domain registrar nameservers to the instance’s Elastic IP, ensuring consistent addressing across restarts.
Using Apache2, I configured a virtual host for the domain and set up a production-ready Python environment powered by the Flask framework.
I installed MySQL as the database engine and configured Gunicorn as the WSGI server to handle concurrent requests efficiently.
To simplify data operations, I implemented SQLAlchemy as an ORM for abstracted database management.
I then developed several REST endpoints:
/add— HandlesPOSTrequests to insert session data into the database./list— Displays stored entries in a readable format./csv— Exports filtered data into downloadable CSV files.
Each route supports URL query parameters, enabling dynamic filtering and flexible retrieval based on client needs.
The final result was a fully functional lightweight backend service that enabled our team to store, retrieve, and export data through simple API calls — all without requiring additional backend expertise or infrastructure.
The application launched successfully with zero reported issues.
Future Improvements
Future iterations could include:
- A local development environment to streamline testing and debugging.
- A CI/CD pipeline for automated deployments and better production safety.