{"id":28496212,"url":"https://github.com/bytebenders-compscientists/uamas-backend","last_synced_at":"2025-07-15T21:33:02.512Z","repository":{"id":294611946,"uuid":"987017215","full_name":"ByteBenders-compScientists/UAMAS-backend","owner":"ByteBenders-compScientists","description":"University Assessment \u0026 Marking Automation System","archived":false,"fork":false,"pushed_at":"2025-06-27T13:46:59.000Z","size":786,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-27T14:42:05.905Z","etag":null,"topics":["flask","flask-sqlalchemy","psql"],"latest_commit_sha":null,"homepage":"","language":"Python","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/ByteBenders-compScientists.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,"zenodo":null}},"created_at":"2025-05-20T13:01:51.000Z","updated_at":"2025-06-27T13:47:02.000Z","dependencies_parsed_at":"2025-06-02T08:58:33.277Z","dependency_job_id":"57610411-a867-423d-846c-8ad636fa9981","html_url":"https://github.com/ByteBenders-compScientists/UAMAS-backend","commit_stats":null,"previous_names":["group-12-computer-science/uamas-backend","bytebenders-compscientists/uamas-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ByteBenders-compScientists/UAMAS-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ByteBenders-compScientists%2FUAMAS-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ByteBenders-compScientists%2FUAMAS-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ByteBenders-compScientists%2FUAMAS-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ByteBenders-compScientists%2FUAMAS-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ByteBenders-compScientists","download_url":"https://codeload.github.com/ByteBenders-compScientists/UAMAS-backend/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ByteBenders-compScientists%2FUAMAS-backend/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263165668,"owners_count":23423990,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["flask","flask-sqlalchemy","psql"],"created_at":"2025-06-08T12:06:43.394Z","updated_at":"2025-07-02T15:30:49.774Z","avatar_url":"https://github.com/ByteBenders-compScientists.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎓 UAMAS Backend\n\nUniversity Assessment \u0026 Marking Automation System (UAMAS) – Backend\n\nThis Flask-based backend powers the UAMAS platform, enabling lecturers to generate assessments and mark handwritten exams using GPT-4.o, OCR, and custom grading logic. It integrates with PostgreSQL for persistent data storage and supports role-based access control for admins, lecturers, and students.\n\n---\n\n## 🚀 Features\n\n- AI-powered assessment and exam generation (GPT-4.o)\n- Handwritten exam marking via OCR + AI grading logic\n- Role-based access control (Admin, Lecturer, Student)\n- Upload and manage marking schemes\n- Automated email notifications\n- Assignment creation, deadlines, and student submission tracking\n- PostgreSQL integration\n\n---\n\n## ⚙️ Technologies Used\n\n- **Flask** (Python)\n- **PostgreSQL**\n- **GPT-4.o (OpenAI API)**\n- **OCR** (e.g., Tesseract, Azure OCR, or Google Vision API)\n- **Flask-CORS**, **Flask-JWT-Extended**\n- **SQLAlchemy**\n\n---\n\n## 📦 Setup Instructions\n\n### 1. Clone the repository\n\n```bash\ngit clone https://github.com/GROUP-12-COMPUTER-SCIENCE/UAMAS-backend.git\ncd UAMAS-backend\n````\n\n### 2. Create a virtual environment\n\n```bash\n# do for every flask (service: Authentication, backend, api-gateway)\npython3 -m venv venv\nsource venv/bin/activate\n```\n\n### 3. Install dependencies\n\n```bash\n# do for every flask (service)\npip install -r requirements.txt\n```\n\n### 4. Set environment variables\n\nCreate a `.env` file and add:\n\n```env\n# api-gateway/.env\n\nHOST='0.0.0.0'\nPORT=8080\nDEBUG=True\nORIGINS_URL='http://localhost:5173'\nAUTH_URL='http://localhost:8000'\nBACKEND_URL='http://localhost:5000'\nLOGGING_FILE_PATH='logs/api-gateway.log'\nLOGGING_LEVEL='INFO'\nSECRET_KEY='67hsg0pxsgaSfgJKhsgyshuw/ksos9q0iecjuuhue'\n\n# Authentication/.env\n\nHOST='0.0.0.0'\nPORT=8000\nDEBUG=True\nDB_URI='postgresql://waltertaya:Walter_8236!@localhost/uamas_db'\nTRACK_MODIFICATIONS=False\nJWT_SECRET_KEY='bgtyWEyt2n4mdj48cn9w2904ndduuLL\u0026*jsnxjksuhus'\nSECRET_KEY='67hsg0pxsgaSfgJKhsgyshuw/ksos9q0iecjuuhue'\n\n# backend/.env\n\nHOST='0.0.0.0'\nPORT=5000\nDEBUG=True\nDB_URI='postgresql://waltertaya:Walter_8236!@localhost/uamas_db'\n# DB_URI='sqlite:///uamas.db' # For local testing\nTRACK_MODIFICATIONS=False\nJWT_SECRET_KEY='bgtyWEyt2n4mdj48cn9w2904ndduuLL\u0026*jsnxjksuhus'\nSECRET_KEY='67hsg0pxsgaSfgJKhsgyshuw/ksos9q0iecjuuhue'\nUPLOAD_FOLDER='uploads/'\nOPENAI_API_KEY=API_KEY\nNVIDIA_API_KEY=API_KEY\n```\n\n### 5. Run the app\n\n```bash\n# running the auth microservice\ncd Authentication\npython3 app.py\n```\n\n```bash\n# running api-gateway\ncd api-gateway\npython3 app.py\n```\n\n```bash\n# running backend microservice\n## yet to be implemented\n```\n\n---\n\n## 🧪 Running Tests\n\n```bash\n# coming soon\npytest\n```\n\n---\n\n## 📁 Project Structure\n\n```bash\n.\n├── api-gateway\n│   └── app.py\n├── Authentication\n│   └── app.py\n├── backend\n│   └── app.py\n├── README.md\n└── requirements.txt\n\n4 directories, 5 files\n```\n\n---\n\n## 📄 License\n\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytebenders-compscientists%2Fuamas-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbytebenders-compscientists%2Fuamas-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytebenders-compscientists%2Fuamas-backend/lists"}