https://github.com/sauloverissimo/newstreamlitapp
NewStreamlitApp: A Multipage Streamlit Application Start Kit
https://github.com/sauloverissimo/newstreamlitapp
Last synced: 3 months ago
JSON representation
NewStreamlitApp: A Multipage Streamlit Application Start Kit
- Host: GitHub
- URL: https://github.com/sauloverissimo/newstreamlitapp
- Owner: sauloverissimo
- Created: 2024-12-04T20:32:13.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-12-12T14:36:03.000Z (6 months ago)
- Last Synced: 2024-12-12T15:31:39.594Z (6 months ago)
- Language: Python
- Homepage:
- Size: 36.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
NewStreamlitApp: A Multipage Streamlit Application Framework
A scalable, modular, and efficient framework to build Streamlit applications with authentication, navigation, and session management.---
## π Table of Contents
1. [Introduction](#introduction)
2. [Features](#features)
3. [Getting Started](#getting-started)
4. [File Structure](#file-structure)
5. [Technologies Used](#technologies-used)
6. [Contributing](#contributing)
7. [License](#license)---
## π Introduction
**NewStreamlitApp** is a comprehensive framework for developers to create professional multipage applications using **Streamlit**. With features like **authentication**, **navigation**, and **session management**, this framework offers all the essential tools for building scalable and interactive web applications.
---
## β¨ Features
- **π Authentication:** Secure user login with SQLite and bcrypt-based password hashing.
- **π Multipage Navigation:** Effortless navigation between pages with a sidebar.
- **π§΅ Session Management:** Persistent session states for global and page-specific data handling.
- **π¦ Modular Design:** Simplified and scalable codebase structure.
- **π Ready for Expansion:** Extend functionality with minimal effort.---
## π Getting Started
### Prerequisites
- Python 3.8 or above
- pip (Python package installer)### Installation
1. Clone the repository:
```bash
git clone https://github.com/sauloverissimo/NewStreamlitApp.git
cd NewStreamlitApp2. Install Dependencies:
```bash
pip install -r requirements.txt3. Run the application::
```bash
streamlit run app.py4. File Structure
## Project Structure
````
NewStreamlitApp/βββ app.py # Main application file
βββ auth/ # Authentication module
β βββ login.py # Handles user login logic
βββ db.py # SQLite database configuration
βββ nav.py # Navigation settings with exemple pages
βββ page/ # Application pages
β βββ home.py # Home exemple page
β βββ management.py # Management exemple page
β βββ architecture.py # Architecture exemple page
β βββ development.py # Development exemple page
βββ sessions/ # Session management module
β βββ state.py # Manages session states
βββ requirements.txt # Python dependencies
βββ app.db # SQLite database file
βββ .streamlit/ # Streamlit configuration files
βββ .dockerignore # Docker ignore file
βββ Dockerfile # Docker configuration file````
## π³ Docker File
Build the Docker image:1. Terminal -> Go to NewStreamlitApp folder:
```bash
docker build -t new_streamlit_app .2. Terminal -> List Docker Images:
```bash
docker imagesResult:
REPOSITORY | TAG |IMAGE ID |CREATED |SIZE
new_streamlit_app| latest |abc123456789 |2 minutes ago |150MB3. Terminal -> Test image Docker:
```bash
docker run -p 8501:8501 new_streamlit_app4. Terminal -> List Docker Images Running:
```bash
docker ps5. Browser:
```bash
http://localhost:8501
---## π οΈ Technologies Used
- Streamlit: A powerful framework for building - interactive web applications.
- SQLite: Lightweight database for local data storage.
- bcrypt: For secure password hashing.---
## π€ Contributing
### We welcome contributions! To contribute:1. Fork the repository:
```bash
git checkout -b feature/your-feature-name2. Commit your changes:
```bash
git commit -m "Add your message here"3. Push your branch:
```bash
git push origin feature/your-feature-name4. Open a pull request.
## π License
This project is licensed under the MIT License. See the LICENSE file for more details.
Este README segue boas prΓ‘ticas e estΓ‘ pronto para ser usado no GitHub. Caso precise de personalizaΓ§Γ΅es ou melhorias, Γ© sΓ³ avisar! π