A modern, web-based mathematical calculation platform built with Django 6.0 that allows users to perform advanced mathematical operations, store calculations, and export results as professional PDFs.
- Basic Arithmetic: Addition, Subtraction, Multiplication, Division
- Advanced Functions: Power, Square Root
- Number Theory: LCM, GCD, Prime Factorization, Prime Checking
- Advanced Mathematics: Factorial, Fibonacci Numbers & Sequences
- User Authentication: Secure login, signup, and logout system
- Calculation Storage: Save all calculations with descriptions and timestamps
- Search & Filter: Powerful search through calculation history
- PDF Export: Generate professional PDF reports for individual calculations
- Responsive Design: Modern UI that works on all devices
- Error Handling: Custom 404 and 500 error pages
- Python 3.12+
- uv package manager
-
Clone the repository
git clone <repository-url> cd maths
-
Install dependencies
uv sync
-
Run migrations
uv run python manage.py migrate
-
Start the development server
uv run python manage.py runserver
-
Access the application
- Landing Page: http://127.0.0.1:8000/
- Dashboard: http://127.0.0.1:8000/mathematics/
- Login: http://127.0.0.1:8000/accounts/login/
- Sign Up: http://127.0.0.1:8000/accounts/signup/
maths/
├── accounts/ # User authentication app
│ ├── forms.py # Custom authentication forms
│ ├── views.py # Login, signup, logout views
│ └── templates/ # Authentication templates
├── mathematics/ # Core calculation app
│ ├── models.py # Calculation model
│ ├── utils.py # Mathematical calculation functions
│ ├── forms.py # Calculation input forms
│ ├── views.py # Dashboard and calculation views
│ └── templates/ # Mathematics app templates
├── documents/ # PDF export app
│ ├── models.py # Document model
│ ├── utils.py # PDF generation utilities
│ ├── views.py # Export views
│ └── templates/ # Document app templates
├── landing/ # Landing page app
│ ├── views.py # Landing page view
│ └── templates/ # Landing page template
├── core/ # Core app configurations
│ ├── views.py # Custom error page views
│ ├── settings.py # Django settings
│ └── templates/ # Error page templates
└── static/ # Static files (CSS, JS, images)
- Backend: Django 6.0.1
- Frontend: Tailwind CSS (via CDN)
- Database: SQLite3 (development)
- PDF Generation: ReportLab
- Package Management: uv
- Icons: Font Awesome
- Language: Python 3.12+
GET /accounts/login/ # Login page
POST /accounts/login/ # Process login
GET /accounts/signup/ # Registration page
POST /accounts/signup/ # Process registration
GET /accounts/logout/ # Logout (GET/POST both supported)
GET /mathematics/ # Dashboard
GET /mathematics/create/ # New calculation form
POST /mathematics/create/ # Process calculation
GET /mathematics/delete/<id>/ # Delete calculation
GET /documents/export/pdf/<id>/ # Export calculation as PDF
GET /documents/list/ # View all documents
This project is licensed under the MIT License - see the LICENSE file for details.