https://github.com/imprvhub/bolted-python
FastAPI-based backend for bolted.url
https://github.com/imprvhub/bolted-python
backend python short-link short-links supabase
Last synced: about 1 year ago
JSON representation
FastAPI-based backend for bolted.url
- Host: GitHub
- URL: https://github.com/imprvhub/bolted-python
- Owner: imprvhub
- License: mit
- Created: 2024-03-11T19:48:20.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-03T01:01:54.000Z (over 1 year ago)
- Last Synced: 2025-03-30T22:32:08.534Z (about 1 year ago)
- Topics: backend, python, short-link, short-links, supabase
- Language: Python
- Homepage: https://bolted.site
- Size: 1.17 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Bolted - The spark behind lightning-fast URLs.
A lightning-fast URL shortener showcasing the power of modern web technologies. Originally built with Flask, now evolved into a robust FastAPI backend with a sleek Astro.js + React frontend.

### Tech Stack
#### Backend (FastAPI)
- High-performance Python web framework
- Async support for better scalability
- Modern API design with automatic OpenAPI documentation
- Type hints and data validation
#### Frontend (Astro.js + React)
- Built with Astro.js for optimal performance
- React components for interactive elements
- Tailwind CSS for modern styling
- Responsive and accessible design
### Key Features
#### Modern URL Shortening
- Quick and efficient URL shortening
- Clean and intuitive user interface
- Copy-to-clipboard functionality
- Automatic HTTPS handling
#### Performance Optimization
- Server-side rendering with Astro.js
- Fast API responses with FastAPI
- Optimized database queries
### Installation
#### Backend Setup
```bash
git clone https://github.com/imprvhub/bolted-python.git
cd bolted-python/backend
pip install -r requirements.txt
cp .env.example .env
```
#### Frontend Setup
```bash
cd ../bolted-frontend
npm install
npm run dev
```
### Environment Variables
#### Backend (.env)
```env
DATABASE_HOST=your_host
DATABASE_USERNAME=your_username
DATABASE_PASSWORD=your_password
DATABASE_NAME=your_database
HASHIDS_SALT=your_salt
CORS_ORIGINS=http://localhost:4321
```
#### Frontend (.env)
```env
PUBLIC_API_URL=http://localhost:8000
```
### Project Evolution
This project evolved from a monolithic Flask application to a modern, decoupled architecture:
Current implementation features:
- Separation of concerns
- Enhanced performance
- Modern development experience
- Improved maintainability
### Contributing
Submit a Pull Request for contributions. For major changes, open an issue first to discuss proposed changes.
### Bug Reports & Feature Requests
Create an [issue](https://github.com/imprvhub/bolted-python/issues/new) with detailed information about bugs or feature requests.
### License
See [User Agreement Section](https://bolted.site) for licensing details.
---