A full‑featured multi‑language website for an internet service provider. Users can explore tariffs, services, vacancies, and news; submit applications; manage their profile; and choose how they want to be contacted. The admin panel gives full control over all content and requests.
🔗 Live demo: astrawilly.pythonanywhere.com
🌍 Multi‑language
German, English, Russian, Dutch, Ukrainian (i18n + locale middleware)
German, English, Russian, Dutch, Ukrainian (i18n + locale middleware)
🔐 User accounts
Sign up, sign in, logout, change password, password reset via email
Sign up, sign in, logout, change password, password reset via email
📱 Phone verification
Confirm phone number via email (code sent to user's email with expiry)
Confirm phone number via email (code sent to user's email with expiry)
🤖 reCAPTCHA protection
Google reCAPTCHA v2 on sensitive forms (e.g., adding a phone number)
Google reCAPTCHA v2 on sensitive forms (e.g., adding a phone number)
💳 Stripe payments
Top up balance using Stripe Checkout (test mode supported)
Top up balance using Stripe Checkout (test mode supported)
👤 Personal cabinet
View selected tariffs, services, packages; track application history
View selected tariffs, services, packages; track application history
📋 Applications
For vacancies, tariffs, individual services, packages, and support
For vacancies, tariffs, individual services, packages, and support
📞 Contact methods
Telegram, Email, Phone call, WhatsApp
Telegram, Email, Phone call, WhatsApp
💱 Currency support
Auto‑updated exchange rates (Frankfurter.app); show prices in multiple currencies
Auto‑updated exchange rates (Frankfurter.app); show prices in multiple currencies
📍 Location detection
IP‑based country detection + manually added countries (editable in admin)
IP‑based country detection + manually added countries (editable in admin)
⚙️ Admin panel
Full control over tariffs, services, vacancies, news, applications, countries, currencies
Full control over tariffs, services, vacancies, news, applications, countries, currencies
⏱️ Background tasks
Celery + Redis for notifications, emails, and periodic currency updates
Celery + Redis for notifications, emails, and periodic currency updates
🐘 PostgreSQL
Robust and scalable database
Robust and scalable database
📱 Responsive design
Works perfectly on desktop and mobile
Works perfectly on desktop and mobile
| Area | Technologies |
|---|---|
| Backend | Python, Django, Django ORM, Django REST Framework (optional) |
| Database | PostgreSQL (production), SQLite (development) |
| Task Queue | Celery, Redis (broker & cache) |
| Frontend | Django templates, Bootstrap 5, custom CSS |
| i18n | Django internationalization (locale middleware) |
| Payments | Stripe Checkout (test mode) |
| Geolocation | Custom IP‑based detector + manual country list |
| Currency | Frankfurter.app API, requests library |
| Captcha | Google reCAPTCHA v2 |
git clone https://github.com/B1llyWL/AstraWilly.git
cd AstraWilly



