Nick TchernikovFull Stack Developer
← Projects

Frontend Endpoints for Database Storage

Flask • AWS • Python • ORM

Flask API diagram showing backend endpoints and database flow
Flask-based backend architecture with API endpoints and database integration

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:

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: