Skip to content

ivdimova/bilimano

Repository files navigation

Bilimano - Reflex Proof of Concept

This is a proof-of-concept migration of Bilimano from Streamlit to Reflex.

What's Included

  • Home page with hero section and featured services
  • Login/Signup with Firebase Authentication
  • Browse Services with search and category filters
  • Profile page with sign out

Key Features Demonstrated

  1. Responsive Design: Uses Reflex's responsive props ["mobile", "tablet", "desktop"]
  2. Code Reuse: Imports existing utils/database.py and utils/auth.py
  3. Real Routing: /, /login, /browse, /profile
  4. State Management: AuthState and ServiceState classes
  5. No Page Reruns: Only components that change are updated

How to Run

# From the reflex_poc directory
cd reflex_poc

# Install Reflex
pip install reflex

# Initialize and run
reflex init
reflex run

The app will be available at http://localhost:3000

Comparison with Streamlit

Feature Streamlit Reflex
Mobile responsive ❌ Limited ✅ Built-in
URL routing ❌ Hacky ✅ Native
Page reruns ❌ Full page ✅ Component only
State management st.session_state State classes
Styling CSS injection Props + Tailwind

Files Structure

reflex_poc/
├── bilimano/
│   ├── __init__.py
│   ├── bilimano.py      # Main app with pages
│   ├── components.py    # Reusable UI components
│   └── state.py         # State management (uses existing utils!)
├── rxconfig.py          # Reflex config
├── requirements.txt
└── README.md

What's Reused from Streamlit Version

  • utils/database.py - Firestore operations (100%)
  • utils/auth.py - Firebase Auth (100%)
  • utils/config.py - Environment config (100%)
  • utils/translation.py - UI translations (dictionary reusable)

About

Bilimano services app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages