A web application for calculating credit points and GPA from PDF transcripts.
Built with FastAPI and pdfplumber, this project simplifies the process for BIU engineering students.
You can access the application here:
https://biu-points-calculator.onrender.com/
- Upload your PDF gradesheet
- Select your degree and starting year
- Calculate total credit points and GPA
- Accessible online from any device
biu-points-calculator/
├── api.py # FastAPI app entry point
├── main.py # Core logic for processing PDFs
├── calculator/ # Business logic modules
│ ├── __init__.py
│ ├── cid_to_hebrew.py # Converts course IDs to Hebrew names
│ ├── calculate_points.py# Computes total points
│ ├── calculate_gpa.py # Computes GPA
│ ├── points_dict.py # Data mapping for points
│ └── read_file.py # File reading and processing
├── static/ # Static files (CSS, images, etc.)
│ └── styles.css
├── templates/ # HTML templates
│ └── index.html
├── example_gradesheet.pdf # Example gradesheet for testing
└── requirements.txt # Python dependencies
If you want to run the application locally, follow these steps:
-
Clone the repository:
git clone https://github.com/your-username/biu-points-calculator.git cd biu-points-calculator -
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install the dependencies:
pip install -r requirements.txt
-
Update the
index.htmlfetch commands:- Open
index.htmlin a text editor. - Replace all instances of:
with:
fetch('https://biu-points-calculator.onrender.com/...')
fetch('http://127.0.0.1:8000/...')
- This ensures the frontend communicates with the locally running backend.
- Open
-
Run the application:
uvicorn api:app --reload
-
Open your browser and navigate to:
http://127.0.0.1:8000
An example gradesheet is included in the repository to help you test the application. You can find it at:
example_gradesheet.pdf
To use the example:
- Open the application (either locally or on the live website).
- Upload the
example_gradesheet.pdffile. - Select a degree and starting year.
- Click "Calculate" to see the results.
- FastAPI
- pdfplumber
- uvicorn
- Jinja2
Contributions are welcome! Feel free to suggest new features, and inform me on bugs you found.