Skip to content

B1llyWL/AstraWilly

Repository files navigation

AstraWilly

This pet project simulates a real ISP website built with Django, mirroring the scale and functionality of a major telecom operator.

Python YouTube

Overview

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.

Features

🌍 Multi‑language
German, English, Russian, Dutch, Ukrainian (i18n + locale middleware)
🔐 User accounts
Sign up, sign in, logout, change password, password reset via email, etc.
👤 Personal cabinet
View selected tariffs, services, packages; track application history
📋 Applications
For vacancies, tariffs, individual services, packages, and support
📞 Contact methods
Telegram, Email, Phone call, WhatsApp
💱 Currency support
Auto‑updated exchange rates (Frankfurter.app); show prices in multiple currencies
📍 Location detection
IP‑based country detection + manually added countries (editable in admin)
⚙️ Admin panel
Full control over tariffs, services, vacancies, news, applications, countries, currencies
⏱️ Background tasks
Celery + Redis for notifications, emails, and periodic currency updates
🐘 PostgreSQL
Robust and scalable database
📱 Responsive design
Works perfectly on desktop and mobile

Tech Stack

Area Technologies
Backend Python, Django, Django ORM
Database PostgreSQL
Task Queue Celery, Redis (broker & cache)
Frontend Django templates, Bootstrap
i18n Django internationalization (locale middleware)
Geolocation Custom IP‑based detector + manual country list
Currency Frankfurter.app API, requests library

Screenshots

Home Page
Home Home1 Homefooter
Languages & Location
Languages Countries
Tariffs
Tariffs Tariffs_1 Tariffs_3 Tariffs_4
Services
Services Services_2 Services_3 Services_4 Services_5
Stocks & Promotions
Stocks_Global Stocks_Germany_Berlin Stocks_Germany_Berlin_details
Support
Support Support_2 Support_3
Vacancies
Vacancies_1 Vacancies Vacancies_3 Vacancies_4
News
News_Global_details
Authentication
Signup Signin Forgot password signout
User Cabinet
My Cabinet MyCab myreq myreqcancel edit_profile
Payment Methods
discover diners Amex visa jcb Top_up_mastercard Top_up_union_pay Topupmir

Installation

1. Clone the repository

git clone https://github.com/yourusername/astrawilly.git
cd astrawilly