https://github.com/omritriki/biu-points-calculator
A web application for calculating credit points and GPA from PDF transcripts. Built with FastAPI and pdfplumber, this tool simplifies the process for BIU engineering students.
https://github.com/omritriki/biu-points-calculator
api biu credit-points css education fastapi gpa-calculation-tool html pdf-processing python render university-tools web-application
Last synced: 24 days ago
JSON representation
A web application for calculating credit points and GPA from PDF transcripts. Built with FastAPI and pdfplumber, this tool simplifies the process for BIU engineering students.
- Host: GitHub
- URL: https://github.com/omritriki/biu-points-calculator
- Owner: omritriki
- Created: 2025-03-27T13:16:46.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-04-05T15:41:55.000Z (27 days ago)
- Last Synced: 2025-04-05T16:28:43.085Z (27 days ago)
- Topics: api, biu, credit-points, css, education, fastapi, gpa-calculation-tool, html, pdf-processing, python, render, university-tools, web-application
- Language: Python
- Homepage: https://biu-points-calculator.onrender.com/
- Size: 228 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BIU Points Calculator
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.## Live Website
You can access the application here:
[https://biu-points-calculator.onrender.com/](https://biu-points-calculator.onrender.com/)## Features
- Upload your PDF gradesheet
- Select your degree and starting year
- Calculate total credit points and GPA
- Accessible online from any device## Directory Structure
```
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
```## Installation (For Local Development)
If you want to run the application locally, follow these steps:
1. Clone the repository:
```bash
git clone https://github.com/your-username/biu-points-calculator.git
cd biu-points-calculator
```2. Create and activate a virtual environment:
```bash
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```3. Install the dependencies:
```bash
pip install -r requirements.txt
```4. Update the `index.html` fetch commands:
- Open `index.html` in a text editor.
- Replace all instances of:
```javascript
fetch('https://biu-points-calculator.onrender.com/...')
```
with:
```javascript
fetch('http://127.0.0.1:8000/...')
```
- This ensures the frontend communicates with the locally running backend.5. Run the application:
```bash
uvicorn api:app --reload
```6. Open your browser and navigate to:
```
http://127.0.0.1:8000
```## Example Gradesheet
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:
1. Open the application (either locally or on the live website).
2. Upload the `example_gradesheet.pdf` file.
3. Select a degree and starting year.
4. Click "Calculate" to see the results.## Dependencies
- FastAPI
- pdfplumber
- uvicorn
- Jinja2## Contributing
Contributions are welcome! Feel free to suggest new features, and inform me on bugs you found.