Skip to content

iamrknain/fimac-mathematics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Fimac Mathematics

A comprehensive Django web application for mathematical computations and learning, featuring modules for algebra, calculus, and numerical analysis.

Features

๐Ÿงฎ Core Mathematics Modules

  • Algebra: Algebraic equation solving and manipulation
  • Calculus: Integration, differentiation, and calculus operations
  • Numerical Analysis: Numerical integration and differentiation methods

๐Ÿ”ง Additional Features

  • User authentication (registration/login)
  • Interactive mathematical computations
  • Feedback and reporting system
  • Modern responsive web interface using Bootstrap
  • Mathematical visualization with Plotly
  • Symbolic mathematics with SymPy

Technology Stack

  • Backend: Django 4.2.4
  • Mathematics: SymPy, NumPy, mpmath
  • Visualization: Plotly 5.16.1
  • Frontend: Bootstrap, jQuery
  • Database: SQLite (development)
  • Authentication: Django Auth with custom user management

Installation

Prerequisites

  • Python 3.8+
  • pip (Python package manager)
  • Git

Setup Instructions

  1. Clone the repository

    git clone https://github.com/ravi-ivar-7/Fimac-Mathematics
    cd Fimac-Mathematics
  2. Create and activate virtual environment

    python3 -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install system dependencies (Linux/Ubuntu)

    sudo apt update && sudo apt install -y libffi-dev python3-dev build-essential
  4. Install Python dependencies

    pip install -r requirements.txt
    pip install numpy  # Additional required dependency
  5. Navigate to Django project directory

    cd mathematics
  6. Run database migrations

    python manage.py migrate
  7. Start the development server

    python manage.py runserver
  8. Access the application Open your browser and navigate to http://127.0.0.1:8000

Project Structure

Fimac-Mathematics/
โ”œโ”€โ”€ mathematics/                 # Main Django project
โ”‚   โ”œโ”€โ”€ mathematics/            # Project settings
โ”‚   โ”‚   โ”œโ”€โ”€ settings.py
โ”‚   โ”‚   โ”œโ”€โ”€ urls.py
โ”‚   โ”‚   โ””โ”€โ”€ wsgi.py
โ”‚   โ”œโ”€โ”€ core/                   # Core app (home, auth, feedback)
โ”‚   โ”œโ”€โ”€ algebra/                # Algebra computations
โ”‚   โ”œโ”€โ”€ calculus/               # Calculus operations
โ”‚   โ”œโ”€โ”€ numerical_analysis/     # Numerical methods
โ”‚   โ”œโ”€โ”€ templates/              # HTML templates
โ”‚   โ”œโ”€โ”€ static/                 # CSS, JS, images
โ”‚   โ””โ”€โ”€ manage.py
โ”œโ”€โ”€ requirements.txt            # Python dependencies
โ”œโ”€โ”€ venv/                      # Virtual environment
โ””โ”€โ”€ README.md

Usage

Main Modules

  1. Home Page (/)

    • Overview of available mathematical tools
    • Navigation to different modules
  2. Algebra (/algebra)

    • Algebraic equation solving
    • Mathematical expression manipulation
  3. Calculus (/calculus)

    • Integration (definite and indefinite)
    • Differentiation
    • Calculus visualization
  4. Numerical Analysis (/numerical_analysis)

    • Numerical integration methods
    • Numerical differentiation
    • Computational mathematics

User Features

  • Registration/Login: Create account and manage sessions
  • Feedback System: Submit feedback about the application
  • Report Issues: Report bugs or problems
  • Credits: View project contributors and acknowledgments

Dependencies

Core Dependencies

  • Django==4.2.4
  • sympy==1.12 (symbolic mathematics)
  • numpy==2.3.3 (numerical computations)
  • plotly==5.16.1 (data visualization)
  • mpmath==1.3.0 (arbitrary precision arithmetic)

Authentication & Security

  • django-allauth==0.54.0
  • cryptography==41.0.3
  • PyJWT==2.8.0

Additional Libraries

  • requests==2.31.0
  • packaging==23.1
  • tenacity==8.2.3

Development

Creating a Superuser

python manage.py createsuperuser

Running Tests

python manage.py test

Collecting Static Files (Production)

python manage.py collectstatic

Configuration

Settings

  • Debug Mode: Enabled by default (DEBUG = True)
  • Database: SQLite for development
  • Time Zone: Asia/Kolkata
  • Static Files: Served from static/ directory
  • Media Files: Uploaded to media/ directory

Environment Variables

For production deployment, consider setting:

  • SECRET_KEY: Django secret key
  • DEBUG: Set to False
  • ALLOWED_HOSTS: Configure allowed hostnames
  • Database configuration for production

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/new-feature)
  3. Commit your changes (git commit -am 'Add new feature')
  4. Push to the branch (git push origin feature/new-feature)
  5. Create a Pull Request

License

This project is open source. Please check the license file for more details.

Support

For support, feedback, or bug reports:

  • Use the built-in feedback system in the application
  • Submit issues through the report feature
  • Contact the development team

Acknowledgments

  • Built with Django web framework
  • Mathematical computations powered by SymPy and NumPy
  • Visualization using Plotly
  • UI components from Bootstrap

Note: This application is designed for educational and research purposes in mathematics. Ensure proper validation of results for critical applications.

About

Repo contains numerical methods for solving differentiation, integration and non-linear equations

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors