{"id":21755397,"url":"https://github.com/pericles001/quizreo_backend","last_synced_at":"2026-05-08T13:17:34.020Z","repository":{"id":108214259,"uuid":"534851101","full_name":"Pericles001/Quizreo_backend","owner":"Pericles001","description":"Quizreoo application  backend service","archived":false,"fork":false,"pushed_at":"2022-09-16T09:05:20.000Z","size":768,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-01T21:47:37.829Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pericles001.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2022-09-10T00:50:57.000Z","updated_at":"2022-09-12T18:47:50.000Z","dependencies_parsed_at":"2023-05-22T23:16:00.962Z","dependency_job_id":null,"html_url":"https://github.com/Pericles001/Quizreo_backend","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Pericles001/Quizreo_backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pericles001%2FQuizreo_backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pericles001%2FQuizreo_backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pericles001%2FQuizreo_backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pericles001%2FQuizreo_backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pericles001","download_url":"https://codeload.github.com/Pericles001/Quizreo_backend/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pericles001%2FQuizreo_backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32781992,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":[],"created_at":"2024-11-26T09:17:56.075Z","updated_at":"2026-05-08T13:17:34.015Z","avatar_url":"https://github.com/Pericles001.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quizreo_backend\nBackend application for quizreo application : API and services are stored there\n\n\n![question mark](https://th.bing.com/th/id/R.0eb9d2f7d65c0b155094266709c3dcda?rik=jy9Drj8zZOjYZg\u0026pid=ImgRaw\u0026r=0)\n\n\n## Description\n\nThis application is the backend of the quizreo application. It is a REST API that provides services to the quizreo application. It is written in python with fastAPI framework.\n\n###  Technologies\n\n* [python](https://www.python.org/)\n* [fastAPI](https://fastapi.tiangolo.com/)\n* [postgresql](https://www.postgresql.org/)\n\n### Architecture\n\nThe application is divided into 6 parts:\n\n```\n*      [app](app/): contains the main application\n*           [auth](app/auth/): contains the authentication services\n*           [core](app/core/): contains the core services\n*           [database](app/db/): contains the database services\n*           [endpoints](app/endpoints/): contains the endpoints of the API\n*           [models](app/models/): contains the models of the database\n*           [routes](app/routes/): contains the routes of the API\n*      __init__.py\n*      dependencies.py\n*      main.py\n*      test_main.py\n``` \n\n###  Services\n\nServices provided by the API:\n* Authentication : login, logout, register, reset password, change password\n* User management : get user, update user, delete user\n* Quiz management : create quiz, get quiz, update quiz, delete quiz\n* Survey management : create survey, get survey, update survey, delete survey \n* Answer management : create answer, get answer, update answer, delete answer\n* Party management : create party, get party, update party, delete party\n* Trial management : create trial, get trial, update trial, delete trial\n\n\n###  API\n\n\n####  Authentication\n\n* [login](app/endpoints/auth/login.py): login a user\n* [logout](app/endpoints/auth/logout.py): logout a user\n* [register](app/endpoints/auth/register.py): register a user\n* [reset_password](app/endpoints/auth/reset_password.py): reset the password of a user\n\n####  User\n* [get_user](app/endpoints/user.py): get a user\n* [update_user](app/endpoints/user.py): update a user\n* [delete_user](app/endpoints/user.py): delete a user\n* [get_users](app/endpoints/user.py): get all users\n* [get_user_by_username](app/endpoints/user.py): get a user by username\n\n####  Quiz\n* [create_quiz](app/endpoints/quiz.py): create a quiz\n* [get_quiz](app/endpoints/quiz.py): get a quiz\n* [update_quiz](app/endpoints/quiz.py): update a quiz\n* [delete_quiz](app/endpoints/quiz.py): delete a quiz\n* [get_quizzes](app/endpoints/quiz.py): get all quizzes\n* [get_quiz_by_name](app/endpoints/quiz.py): get a quiz by name\n* [get_quiz_by_user](app/endpoints/quiz.py): get all quizzes of a user\n\n####  Survey\n* [create_survey](app/endpoints/survey.py): create a survey\n* [get_survey](app/endpoints/survey.py): get a survey\n* [update_survey](app/endpoints/survey.py): update a survey\n* [delete_survey](app/endpoints/survey.py): delete a survey\n* [get_surveys](app/endpoints/survey.py): get all surveys\n* [get_survey_by_name](app/endpoints/survey.py): get a survey by name\n* [get_survey_by_user](app/endpoints/survey.py): get all surveys of a user\n\n####  Answer\n* [create_answer](app/endpoints/answer.py): create an answer\n* [get_answer](app/endpoints/answer.py): get an answer\n* [update_answer](app/endpoints/answer.py): update an answer\n* [delete_answer](app/endpoints/answer.py): delete an answer\n* [get_answers](app/endpoints/answer.py): get all answers\n* [get_answer_by_user](app/endpoints/answer.py): get all answers of a user\n* [get_answer_by_quiz](app/endpoints/answer.py): get all answers of a quiz\n\n####  Party\n* [create_party](app/endpoints/party.py): create a party\n* [get_party](app/endpoints/party.py): get a party\n* [update_party](app/endpoints/party.py): update a party\n* [delete_party](app/endpoints/party.py): delete a party\n* [get_parties](app/endpoints/party.py): get all parties\n* [get_party_by_name](app/endpoints/party.py): get a party by name\n* [get_party_by_user](app/endpoints/party.py): get all parties of a user\n\n### Trial\n* [create_trial](app/endpoints/trial.py): create a trial\n* [get_trial](app/endpoints/trial.py): get a trial\n* [update_trial](app/endpoints/trial.py): update a trial\n* [delete_trial](app/endpoints/trial.py): delete a trial\n* [get_trials](app/endpoints/trial.py): get all trials\n* [get_trial_by_name](app/endpoints/trial.py): get a trial by name\n* [get_trial_by_user](app/endpoints/trial.py): get all trials of a user\n\n## Usage\n\nIf you want to use this project as a template, you can clone it and start working on it. You can also use it as a reference to learn how to build a FastAPI project.\nIf you want to see a demo of the various features follow these steps: \n\n1. Clone the project\n\n*      git clone https://github.com/Pericles001/Quizreo_backend.git\n*      cd Quizreo_backend\n\n2. Create a virtual environment\n\n*      python3 -m venv venv\n*      source venv/bin/activate\n\n3. Install the requirements\n\n*     pip install -r requirements.txt\n*     pip install -r requirements-dev.txt\n\n4. Run the project\n\n*     uvicorn app.main:app --reload\n\n5. Go to the [Swagger UI](http://localhost:8000/docs) and try the endpoints\n6. Go to the [ReDoc UI](http://localhost:8000/redoc) and try the endpoints\n\n\n## Contributing\n\nIf you wish to contribute to the application , you can fork the project and submit a pull request. If you find any bugs or have any suggestions, you can open an issue.\n\n\n## Authors\n\n* [Pericles001](https://github.com/Pericles001)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpericles001%2Fquizreo_backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpericles001%2Fquizreo_backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpericles001%2Fquizreo_backend/lists"}