{"id":19539200,"url":"https://github.com/ammaar-alam/mat201-grade-calculator","last_synced_at":"2026-04-15T10:32:55.578Z","repository":{"id":244143952,"uuid":"814319581","full_name":"Ammaar-Alam/mat201-grade-calculator","owner":"Ammaar-Alam","description":"A web application designed to help MAT201 students track and calculate their grades in various categories such as in-class work, PSETs, and midterms. The application provides a user-friendly interface for entering grades and displays real-time updates.","archived":false,"fork":false,"pushed_at":"2025-01-28T18:33:35.000Z","size":2923,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-26T04:42:04.901Z","etag":null,"topics":["csv","express-js","grade-calaculator","java","javascript","node-js","webapp"],"latest_commit_sha":null,"homepage":"http://mat201.ammaar.xyz/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ammaar-Alam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-12T19:18:36.000Z","updated_at":"2025-01-28T18:33:33.000Z","dependencies_parsed_at":"2024-10-23T20:13:21.072Z","dependency_job_id":"24af3911-2ab8-4fd0-bbb8-69fe4e455819","html_url":"https://github.com/Ammaar-Alam/mat201-grade-calculator","commit_stats":null,"previous_names":["ammaar-alam/mat201-grade-calculator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ammaar-Alam/mat201-grade-calculator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ammaar-Alam%2Fmat201-grade-calculator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ammaar-Alam%2Fmat201-grade-calculator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ammaar-Alam%2Fmat201-grade-calculator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ammaar-Alam%2Fmat201-grade-calculator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ammaar-Alam","download_url":"https://codeload.github.com/Ammaar-Alam/mat201-grade-calculator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ammaar-Alam%2Fmat201-grade-calculator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31837165,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T10:26:52.245Z","status":"ssl_error","status_checked_at":"2026-04-15T10:26:51.649Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csv","express-js","grade-calaculator","java","javascript","node-js","webapp"],"created_at":"2024-11-11T02:38:39.124Z","updated_at":"2026-04-15T10:32:55.557Z","avatar_url":"https://github.com/Ammaar-Alam.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [ABANDONED] MAT201 Grade Calculator\r\n\r\n## Overview\r\n\r\nThe MAT201 Grade Calculator is a web application designed to help students keep track of their grades in various categories such as in-class work, PSETs, and midterms. The application allows users to input grades, and it calculates and displays their current standing in the course.\r\n\r\n## Features\r\n\r\n- **User-Friendly Interface**: Simple and intuitive UI for entering and updating grades.\r\n- **Grade Calculation**: Automatically calculates grades for in-class work, PSETs, and midterms.\r\n- **Real-Time Updates**: Updates grades and displays the results immediately after submission.\r\n- **Room Management**: Users can create and join rooms, which can be password-protected.\r\n\r\n## Directory Structure\r\n\r\n```\r\nmat201-grade-calculator/\r\n├── node_modules/\r\n├── out/\r\n├── public/\r\n│   ├── index.html\r\n│   ├── script.js\r\n│   └── styles.css\r\n├── server/\r\n│   ├── libs/\r\n│   │   └── algs4.jar\r\n│   ├── compile_and_run.sh\r\n│   ├── GradeCalculator.java\r\n│   ├── grades.csv\r\n│   ├── LectureInfo.java\r\n│   ├── lectures.csv\r\n│   ├── PsetInfo.java\r\n│   └── psets.csv\r\n├── .gitignore\r\n├── package.json\r\n└── server.js\r\n```\r\n\r\n## Getting Started\r\n\r\n### Prerequisites\r\n\r\n- Node.js and npm\r\n- Java Development Kit (JDK)\r\n- Git\r\n\r\n### Installation\r\n\r\n1. **Clone the Repository**\r\n   ```bash\r\n   git clone https://github.com/yourusername/mat201-grade-calculator.git\r\n   cd mat201-grade-calculator\r\n   ```\r\n\r\n2. **Install Dependencies**\r\n   ```bash\r\n   npm install\r\n   ```\r\n\r\n3. **Ensure Java Libraries**\r\n   Make sure `algs4.jar` is in the `server/libs` directory.\r\n\r\n### Running the Application\r\n\r\n1. **Start the Server**\r\n   ```bash\r\n   npm start\r\n   ```\r\n\r\n2. **Access the Application**\r\n   Open your browser and go to `http://localhost:3000`\r\n\r\n## Usage\r\n\r\n1. **Navigate to the Homepage**\r\n   Open `http://localhost:3000` in your web browser.\r\n\r\n2. **Select Grade Category**\r\n   Click on the button for the grade category you want to update (In-Class Work, PSET, Midterm).\r\n\r\n3. **Enter Details**\r\n   - For in-class work, enter the lecture number and points earned.\r\n   - For PSETs, enter the PSET number and points earned.\r\n   - For midterms, enter the midterm number and points earned.\r\n\r\n4. **Submit Grades**\r\n   Click the submit button to update your grades. The application will display your updated grades and current standing.\r\n\r\n## Files and Scripts\r\n\r\n### `index.html`\r\nThe main HTML file for the user interface.\r\n\r\n### `script.js`\r\nContains the client-side JavaScript for handling user interactions and sending requests to the server.\r\n\r\n### `styles.css`\r\nContains the CSS for styling the web application.\r\n\r\n### `server.js`\r\nThe main server file using Node.js and Express. Handles incoming requests and serves static files.\r\n\r\n### `compile_and_run.sh`\r\nA shell script for compiling and running the Java grade calculator.\r\n\r\n### `GradeCalculator.java`\r\nThe main Java class that performs grade calculations.\r\n\r\n### `LectureInfo.java`\r\nA Java class that represents lecture information.\r\n\r\n### `PsetInfo.java`\r\nA Java class that represents PSET information.\r\n\r\n### `grades.csv`, `lectures.csv`, `psets.csv`\r\nCSV files that store the grades and information about lectures and PSETs.\r\n\r\n## Troubleshooting\r\n\r\n### Common Issues\r\n\r\n- **Server Not Starting**: Ensure all dependencies are installed and the `algs4.jar` file is in the correct location.\r\n- **Compilation Errors**: Check the paths in `compile_and_run.sh` and ensure the Java files are in the `server` directory.\r\n- **Internal Server Error**: Check the server logs for detailed error messages.\r\n\r\n### Debugging Tips\r\n\r\n- **Check Logs**: Always check the console and server logs for errors.\r\n- **Verify Paths**: Ensure all file paths in scripts and imports are correct.\r\n- **Manual Compilation**: Try compiling and running the Java files manually to identify issues.\r\n\r\n## Contributing\r\n\r\n1. **Fork the Repository**\r\n2. **Create a Branch**\r\n   ```bash\r\n   git checkout -b feature-branch\r\n   ```\r\n3. **Commit Changes**\r\n   ```bash\r\n   git commit -m \"Description of changes\"\r\n   ```\r\n4. **Push to Branch**\r\n   ```bash\r\n   git push origin feature-branch\r\n   ```\r\n5. **Create a Pull Request**\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License.\r\n\r\n---\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fammaar-alam%2Fmat201-grade-calculator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fammaar-alam%2Fmat201-grade-calculator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fammaar-alam%2Fmat201-grade-calculator/lists"}