An advanced calculator web application developed with Django and Streamlit that offers various mathematical and scientific functionalities.
- Modern Web Interface: Developed with Django for a fluid user experience.
- Advanced Scientific Calculator: Includes modules for:
- Differential and Integral Calculus
- Physics
- Topology
- Advanced Mathematics
- Statistics
- Calculation History: Saves the last 10 calculations performed.
- Keyboard Input: Supports direct keyboard input.
- Responsive Design: Adapts to different screen sizes.
- Python 3.10 or higher
- pip (Python package manager)
- Virtual Environment (recommended)
- Clone the repository
git clone [https://github.com/Keurydl/web_mathematics]
cd WebCalculator- Create and activate a virtual environment
# On Windows
python -m venv venv
.\venv\Scripts\activate- Install dependencies
pip install -r requirements.txt- Apply migrations
python manage.py migrate- Run the development server
python manage.py runserver
and
streamlit run calculos/streamlit_app.py- Access the application Open your browser and go to: http://127.0.0.1:8000/ and http://localhost:8501/
CalculadoraWeb/
├── calculos/ # Main application
│ ├── migrations/ # Database migrations
│ ├── static/ # Static files (CSS, JS, images)
│ │ └── calculos/
│ │ └── sections/ # JS scripts for each section
│ ├── templates/ # HTML templates
│ │ └── calculos/
│ │ └── sections/ # Templates for each section
│ ├── admin.py # Django admin configuration
│ ├── apps.py # Application configuration
│ ├── streamlit_app.py # Streamlit calculator application
│ └── views.py # Application views
├── config/ # Django project configuration
├── manage.py # Django management script
└── requirements.txt # Project dependencies
-
Backend:
-
Django 4.2.7
-
Python 3.10+
-
Streamlit 1.45.1
-
Frontend:
-
HTML5
-
CSS3
-
JavaScript
-
Bootstrap (optional, depending on implementation)
-
Database:
-
SQLite (default in development)
- Template System: Uses Django template inheritance to maintain a consistent design.
- Class-Based Views: For cleaner, more maintainable code.
- Error Handling: Captures syntax errors and division by zero.
- Operation History: Temporary storage of recent calculations.
Contributions are welcome. Please follow these steps:
- Fork the project.
- Create a branch for your feature (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature) - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request.
Project Link: https://github.com/Keurydl/web_mathematics
