A Proof of Concept (PoC) project demonstrating the integration of Django with HTMX and web scraping tools (BeautifulSoup). The system allows for asynchronous data fetching from external sources, persisting them in a MySQL database, and dynamically updating the UI without full page reloads.
- Backend: Python, Django
- Frontend: HTMX (Dynamic DOM updates)
- Database: MySQL
- Scraping: BeautifulSoup4, Requests
- Infrastructure: Docker, Docker Compose
- On-demand Scraping: Data fetching triggered via HTMX-powered buttons.
- Dynamic UI: Table updates using HTMX for a seamless user experience.
- Data Persistence: Managed via Docker volumes for MySQL data.
- Containerization: Fully dockerized environment for easy deployment and testing.
- Docker
- Docker Compose
-
Clone the repository:
git clone https://github.com/KalMarek7/django-htmx-scraper.git cd django-htmx-scraper -
Run
docker compose up -
Run migrations:
docker compose exec web bash
python manage.py migrate
- Hit Refresh