Skip to content

ROBERTOMAFFRA/spero-estimate-clean

Repository files navigation

Spero-Estimates (clean starter)

This is a clean, minimal Flask project for the Spero Estimates app. It includes:

  • a top navigation with a logo served from static/
  • Home, Estimates and About pages
  • a dynamic Estimates page (client-side JS) that lets you add items and calculates totals
  • a /estimates POST JSON endpoint for server-side processing (if you need it)

Run locally

python -m venv venv
source venv/bin/activate      # on Windows use: venv\Scripts\activate
pip install -r requirements.txt
flask run                     # or: python app.py

The app will be available at http://127.0.0.1:5000

Deploy to Render

  1. Push this repository to GitHub.
  2. Create a new Web Service on Render and connect the GitHub repo.
  3. Build command: pip install -r requirements.txt
  4. Start command: gunicorn app:app
  5. Make sure static/ files (logo and css) are committed so the site can load them.

Important notes & troubleshooting

  • UnidentifiedImageError (Pillow): If you previously ran into UnidentifiedImageError, that happened because the backend tried to open the logo file with Pillow (Image.open(...)). This starter does not open static images on the backend — the browser loads /static/logo.svg directly. If you must manipulate images server-side, install Pillow and ensure you open the file in binary mode and that the file is a supported format.

  • Serving static files: Flask serves files from the static/ directory automatically when you use url_for('static', filename='...') in templates.

Next steps I can help with

  • Add authentication
  • Connect your Excel/CSV to populate the Estimates form automatically
  • Export estimates to PDF (I can add server-side PDF generation safely)

About

App Estimate

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors