Back End Developer
Current
Tehran, Tehran Province, Iran
• Implementation of all services including the website, API, maps, data retrieval, and sending commands to dataloggers, etc., using Flask and FastAPI frameworks. (FastAPI was chosen due to its significantly higher speed compared to Django and Flask, its easy support for asyncio capabilities, and its fully REST API-oriented architecture. All services have gradually been implemented within this framework.)• Backend development following the REST API architecture.• Utilization of JWT for authentication purposes.• Adoption of PostgreSQL as the primary database.• Implementation of SQLAlchemy as the ORM tool.• Integration of Alembic for database migration.• Using Redis for caching and also controlling some client processes.• Setting up a mail server and SMS service for sending various messages to users and administrators.• Utilization of Gunicorn as the backend server.• Utilizing Nginx and configuring it for purposes such as web server, reverse proxy, load balancing, URL rewriting and redirection, and security measures.• Employing DNS servers (such as Cloudflare and others) to enhance infrastructure stability, particularly for managing multiple servers under a single domain.• Utilizing Telegram bots and SMS services for notifying administrators of specific alerts in special situations.• Using Git as the version control system.• Leveraging Docker for rapid and repeatable deployment of services.