Expanding Truck Import Management Platform — Flask/Python Backend

Posted 4 days ago

Worldwide

Summary

We are looking for a backend developer to extend an existing vehicle import management platform built with Python (Flask) + MySQL. What already exists (do not rebuild) The platform already has a working backend for: Technician area — full inspection workflow, 13-tab form, draft/autosave, multimedia via SFTP, PDF report generation with Playwright. Workshop area — client management, inspections, adjustments. Client area — panel, inspections, adjustments. Public website — static pages, served by Flask. All of this is in production and must not be broken. What needs to be built 1. Authentication migration (required before anything else) The current authentication system needs to be upgraded before adding new areas: Migrate to token-based authentication (JWT or Flask sessions). Improve password security. Add role-based endpoint authorization. Review CORS policy. 2. New user roles and login routing Add three new internal roles to the existing login system (inicio_sesion.html): PRECOMPRA — redirects to Precompra area after login. POSTCOMPRA — redirects to Postcompra area after login. ADMIN — access to both areas. After login, store role and user name in sessionStorage so the frontend builds the correct navigation header automatically. 3. Precompra area (new — full backend) Lead management: receive leads from website forms (contact, vehicle search, vehicle detail page), create leads manually, manage statuses. Internal vehicle stock: add vehicles manually, assign to one or multiple clients, track status (unassigned / assigned / reserved / sold). Client file: channel configuration (direct / via workshop / both), proposed vehicles, notes, conversion to Postcompra (with payment validation). Connection to technician area: when an inspection is finalised, notify Precompra automatically. 4. Postcompra area (new — full backend) Import file management with 6 tabs: Documents, Payments, Transport, Homologation, Chat, Activity. Phase tracking: advance phases, propagate status updates to client area in real time. Homologation incidents: assign to workshop or client, propagate visibility automatically. Payment blocking rules: certain phases cannot advance until specific payments are confirmed. Completed imports: list, reopen for warranty or post-delivery incidents. 5. Client area extensions Dashboard showing active phases (reviews, precompra, postcompra). Proposed vehicles view: client marks preferences. Import tracking: phases, progress, incidents assigned to client. Document management: view requested documents and upload them. 'I want to import it' button: creates a lead in Precompra automatically. 6. Workshop area extensions Assigned homologation incidents: view, comment, upload resolution photos. Workshop billing: view own earnings from collaborating with IC (never sees IC margins or commissions). 7. Stripe payment integration (new) Integrate Stripe for the paid services on the public website (vehicle search from €69, inspection from €269). After successful payment: create CLIENT account automatically and send credentials by email, create lead in Precompra. 8. Internal billing — Postcompra (new) Invoice management for the internal team: list, summary by concept, mark as paid, send reminders, download PDF. 9. Account creation and credential delivery All accounts are created by Importar Camión — no self-registration. The system must support manual account creation (client, workshop, technician) with automatic credential email delivery. Technical stack Backend: Python / Flask Database: MySQL Production server: Gunicorn PDF generation: HTML template to PDF (current implementation needs to be reviewed and improved as part of this project) Frontend: HTML + vanilla JavaScript (no framework, no build system) Media storage: SFTP server (separate from the app server) Email: SMTP Config: python-dotenv What you will receive Full HTML prototype of all areas with annotated buttons and forms. Backend requirements document (English) covering endpoints, business rules, flows and connections between areas. This document reflects the current state — minor details may evolve during development, please flag anything unclear before implementing. Existing backend code. Document describing what is already implemented and what needs to be built from scratch. Server access documentation (SSH, deployment guide). Requirements Solid experience with Python and Flask. Experience with MySQL. Experience integrating Stripe. Ability to work with an existing codebase without breaking it. Clear communication — if something in the requirements is unclear or incomplete, flag it before implementing rather than making assumptions. Deliver within 5 weeks. Budget €800 – €2,000 fixed price depending on experience and approach. Please include a brief breakdown of how you would approach this project in your proposal, specifically mentioning your experience with Flask and how you would handle the authentication migration without breaking the existing system.

  • Less than 30 hrs/week
    Hourly
  • 1-3 months
    Duration
  • Expert
    Experience Level
  • Remote Job
  • Complex project
    Project Type
Skills and Expertise
Mandatory skills
Back-End Development
Python
Activity on this job
  • Proposals:20 to 50
  • Last viewed by client:yesterday
  • Interviewing:
    2
  • Invites sent:
    3
  • Unanswered invites:
    1
About the client
Member since Jun 26, 2026
  • Spain
    2:30 AM

Explore similar jobs on Upwork

Git
WordPress
PHP
MySQL
JavaScript
Backend Laravel DeveloperFixed-price‐ Posted 2 months ago
Laravel
PHP
MySQL
MySQL Programming

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo