a task website to hire pros, you can see their services, hire them, see past projects (How long it took, how much it cost, etc)
To upload files, please first save the app
import streamlit as st
from sqlalchemy import create_engine, Column, Integer, String, Float, Date
from sqlalchemy.orm import DeclarativeBase, Session
class Base(DeclarativeBase):
pass
class Service(Base):
__tablename__ = 'services'
id = Column(Integer, primary_key=True)
name = Column(String)
description = Column(String)
price = Column(Float)
class Project(Base):
__tablename__ = 'projects'
id = Column(Integer, primary_key=True)
service_id = Column(Integer)
duration = Column(Integer) # in days
cost = Column(Float)
# Create SQLite engine
engine = create_engine('sqlite:///hirepros.db')
# Create tables
Base.metadata.create_all(bind=engine)
st.title('Hire Pros')
st.write('### Available Services')
with Session(engine) as session:
services = session.execute("SELECT * FROM services").fetchall()
services_list = [{'id': service.id, 'name': service.name, 'description': service.description, 'price': service.price} for service in services]
st.table(services_list)
if service_id := st.selectbox('Select a Service to Hire:', [service['id'] for service in services_list]):
st.write('You have selected to hire the service with ID:', service_id)
st.write('### Past Projects')
with Session(engine) as session:
projects = session.execute("SELECT * FROM projects").fetchall()
projects_list = [{'id': project.id, 'service_id': project.service_id, 'duration': project.duration, 'cost': project.cost} for project in projects]
st.table(projects_list)
Hi! I can help you with any questions about Streamlit and Python. What would you like to know?