⚡️Bolted [Python - Flask]
- Ivan Luna
- Python , Flask , PostgreSQL , Supabase , Solutions , Backend Development , Vercel Deployment
- 20 Jan, 2024
Bolted is a sophisticated URL shortening service built with Python, leveraging the Flask framework and PostgreSQL (Supabase) for robust database management. This application demonstrates the versatility and power of Python in modern web development.
Key Features:
-
URL Shortening Engine:
- Efficiently transforms lengthy URLs into concise, shareable links
- Implements secure and unique link generation algorithms
-
Technical Architecture:
- Built on Python’s Flask framework for optimal performance
- Integrates PostgreSQL through Supabase for reliable data persistence
- Implements modern web development practices and standards
-
Enhanced User Experience:
- Intuitive and responsive user interface
- Streamlined link management system
- Clean and modern design implementation
Installation Guide:
Prerequisites:
1. Repository Setup
git clone https://github.com/ivnimprv/bolted-python.git
2. Directory Navigation
cd /your/folder/directory/bolted-python
3. Virtual Environment Setup
For macOS/Linux:
# Create virtual environment
python -m venv venv
# Activate virtual environment
source venv/bin/activate
# Verify activation (should show virtual environment path)
which python
For Windows:
# Create virtual environment
python -m venv venv
# Activate virtual environment
.\venv\Scripts\activate
# Verify activation (should show virtual environment path)
where python
4. Dependencies Installation
pip install -r requirements.txt
5. Environment Configuration
Create a .env
file in the root directory and configure the following variables:
# Application Settings
DOMAIN_URL=http://localhost:5000
HASHIDS_SALT=your_secure_salt_here
# Database Configuration
DATABASE_HOST=your_database_host
DATABASE_USERNAME=your_username
DATABASE_PASSWORD=your_secure_password
DATABASE=your_database_name
# Security Settings
SSL_ACCEPT=strict
6. Application Launch
cd api && python index.py
Support & Feedback:
Your feedback is invaluable for the continuous improvement of this project. I am committed to providing excellent support and welcome your input to enhance the user experience.
For technical assistance or to report issues, please submit a detailed GitHub issue. Include comprehensive information about your concern to ensure efficient resolution.
License:
Please review the LICENSE for detailed licensing information.