{"id":19068062,"url":"https://github.com/ak4m410x01/examination_platform_api","last_synced_at":"2025-06-15T10:39:04.089Z","repository":{"id":227026104,"uuid":"746226249","full_name":"ak4m410x01/Examination_Platform_API","owner":"ak4m410x01","description":"ExamSandbox is a secure examination platform using Docker for isolated code execution. Ideal for educational assessments, it offers a user-friendly interface, robust security measures, and detailed result evaluations.","archived":false,"fork":false,"pushed_at":"2024-09-30T02:14:45.000Z","size":2169,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-28T13:11:41.881Z","etag":null,"topics":["django","django-rest-framework","docker","docker-compose","examination-system","exams-management-system","postgresql","python","rest-api","university"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ak4m410x01.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":"2024-01-21T12:59:26.000Z","updated_at":"2024-09-30T02:14:43.000Z","dependencies_parsed_at":"2024-05-11T19:41:00.811Z","dependency_job_id":"96df2bba-9f54-4a01-ae5d-d4aedd0ee558","html_url":"https://github.com/ak4m410x01/Examination_Platform_API","commit_stats":null,"previous_names":["ak4m410x01/examination_platform_api"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/ak4m410x01/Examination_Platform_API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ak4m410x01%2FExamination_Platform_API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ak4m410x01%2FExamination_Platform_API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ak4m410x01%2FExamination_Platform_API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ak4m410x01%2FExamination_Platform_API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ak4m410x01","download_url":"https://codeload.github.com/ak4m410x01/Examination_Platform_API/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ak4m410x01%2FExamination_Platform_API/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259960641,"owners_count":22938101,"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":["django","django-rest-framework","docker","docker-compose","examination-system","exams-management-system","postgresql","python","rest-api","university"],"created_at":"2024-11-09T01:03:42.069Z","updated_at":"2025-06-15T10:39:04.063Z","avatar_url":"https://github.com/ak4m410x01.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Examination Platform API\n\n## Details\n\nThe Examination Platform is a robust system for efficient exam management within educational institutions. It features distinct user roles - administrators, instructors, and students. The platform ensures secure authentication, comprehensive user data management, and effective exam handling. With an intuitive interface, it prioritizes user-friendly design and scalability to accommodate growth. Results access control is implemented, and considerations include audit trails, notifications, and data integrity. The platform aims to streamline examination processes, providing a reliable and user-centric solution.\n\n\u003cdiv align=\"center\"\u003e\n   \u003cimg src=\"./assets/images/cover.jpg\"\u003e\n\u003c/div\u003e\n\n## ⚙ Tools and Technologies used\n\n1. **[Python](https://www.python.org/)**: Primary programming language chosen for its simplicity, readability, and vast ecosystem of libraries and frameworks.\n2. **[Django](https://www.djangoproject.com/)**: A high-level Python web framework renowned for its scalability, security features, and rapid development capabilities.\n3. **[Django Rest Framework (DRF)](https://www.django-rest-framework.org/)**: Built on top of Django, DRF provides powerful tools for building RESTful APIs, simplifying the creation of web services.\n4. **[PostgreSQL](https://www.postgresql.org/)**: A robust open-source relational database management system known for its reliability, extensibility, and support for complex queries and transactions.\n5. **[JWT (JSON Web Tokens)](https://django-rest-framework-simplejwt.readthedocs.io/en/latest/)**: A standard for securely transmitting information between parties as JSON objects, commonly used for authentication and authorization in web applications.\n6. **[Docker](https://www.docker.com/)**: Containerization platform that simplifies the deployment and management of applications by packaging them into portable containers, ensuring consistency across different environments.\n7. **[Docker Compose](https://docs.docker.com/compose/)**: Tool for defining and running multi-container Docker applications, enabling seamless configuration and orchestration of complex application architectures.\n\n## 🛠 Installation and setup\n\n1. Install Docker [here](https://www.docker.com/get-started/)\n2. Install Git [here](https://git-scm.com/downloads)\n3. Create a working directory:\n\n   ```bash\n   mkdir ~/MAAT \u0026\u0026 cd ~/MAAT\n   ```\n\n4. Clone the repository\n\n   ```bash\n   git clone https://github.com/ak4m410x01/Examination_Platform_API.git .\n   ```\n\n5. Switch to DeployOnDocker Branch\n\n   ```bash\n   git switch DeployOnDocker\n   ```\n\n6. Start the application\n\n   ```bash\n    docker-compose up -d\n   ```\n\n7. Access API: http://127.0.0.1/api/\n\n8. Access DB: 127.0.0.1:5432\n\n9. Don't forget .env file with variables\n\n| Variable          | Value                                                                 |\n| ----------------- | --------------------------------------------------------------------- |\n| SECRET_KEY        | 'django-insecure-%2dmqnqj9v2e\u00268yk\\*t=#b+2-=i!45+153*@-g0*=\u0026%1od16z^m' |\n| DEBUG             | False                                                                 |\n| ALLOWED_HOSTS     | 172.0.0.1,*                                                           |\n| DATABASE_ENGINE   | django.db.backends.postgresql                                         |\n| DATABASE_HOST     | postgres                                                              |\n| DATABASE_PORT     | 5432                                                                  |\n| DATABASE_NAME     | maat                                                                  |\n| DATABASE_USER     | maat                                                                  |\n| DATABASE_PASSWORD | maat                                                                  |\n| JWT_SECRET_KEY    | JWT_S3CR3T_K3Y                                                        |\n| POSTGRES_DB       | maat                                                                  |\n| POSTGRES_USER     | maat                                                                  |\n| POSTGRES_PASSWORD | maat                                                                  |\n\nnote:\nthese variables are for the lab environment only... don't use these in xxx production environments xxx\n\n---\n\n## 🛠 Documentation and Endpoints\n\n1. [Postman](https://documenter.getpostman.com/view/27192844/2sA2xnxA2s)\n2. [Apidog](https://wwulj09fuf.apidog.io)\n\n---\n\n## PIP Packages\n\n    +-------------------------------+---------+---------------------------+\n    | Name                          | Version | Use                       |\n    | ----------------------------- | ------- | ------------------------- |\n    | Python                        | 3.11.7  | Programming Lang          |\n    | Django                        | 5.0.2   | Django Framework          |\n    | djangorestframework           | 3.14.0  | Restful Framework         |\n    | djangorestframework-simplejwt | 5.3.1   | Restful Framework Jwt     |\n    | django-filter                 | 23.5    | Restful Framework filters |\n    | django-cors-headers           | 4.3.1   | Restful Framework CORS    |\n    | psycopg2-binary               | 2.9.9   | PostgreSQL DB lib         |\n    | pthon-decouple                | 3.8     | To use .env file          |\n    +-------------------------------+---------+---------------------------+\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fak4m410x01%2Fexamination_platform_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fak4m410x01%2Fexamination_platform_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fak4m410x01%2Fexamination_platform_api/lists"}