{"id":20433362,"url":"https://github.com/jpcadena/black-clover","last_synced_at":"2026-04-13T04:46:42.533Z","repository":{"id":165765845,"uuid":"619048876","full_name":"jpcadena/black-clover","owner":"jpcadena","description":"Black Clover RESTful API","archived":false,"fork":false,"pushed_at":"2023-04-07T22:10:13.000Z","size":27428,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-14T18:58:25.465Z","etag":null,"topics":["aioredis","api","async","asyncpg","backend","fastapi","gunicorn","jwt","postgresql","postgresql-database","pydantic","pylint","python","redis","restful-api","sql","sqlalchemy","starlette","swagger","uvicorn"],"latest_commit_sha":null,"homepage":"https://github.com/jpcadena/black-clover","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/jpcadena.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2023-03-26T05:24:45.000Z","updated_at":"2023-03-26T23:28:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"f366a86e-67ce-4244-9136-51623ed7f4f7","html_url":"https://github.com/jpcadena/black-clover","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jpcadena/black-clover","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcadena%2Fblack-clover","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcadena%2Fblack-clover/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcadena%2Fblack-clover/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcadena%2Fblack-clover/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jpcadena","download_url":"https://codeload.github.com/jpcadena/black-clover/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcadena%2Fblack-clover/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31740266,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T03:27:07.512Z","status":"ssl_error","status_checked_at":"2026-04-13T03:26:53.610Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["aioredis","api","async","asyncpg","backend","fastapi","gunicorn","jwt","postgresql","postgresql-database","pydantic","pylint","python","redis","restful-api","sql","sqlalchemy","starlette","swagger","uvicorn"],"created_at":"2024-11-15T08:18:45.521Z","updated_at":"2026-04-13T04:46:42.499Z","avatar_url":"https://github.com/jpcadena.png","language":"Python","readme":"# black-clover\n\n\u003c!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 --\u003e\n\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** Markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n--\u003e\n\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/othneildrew/Best-README-Template\"\u003e\n    \u003cimg src=\"app/assets/static/images/logo.png\" alt=\"Logo\" width=\"80\" \nheight=\"80\"\u003e\n  \u003c/a\u003e\n\n\u003ch3 align=\"center\"\u003eblack-clover\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    Black Clover RESTful API project based on FastAPI.\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/jpcadena/black-clover\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n\n## About the project\n\nThis project is about Black Clover.\n\n![Project][project-screenshot]\n\nIn the Clover Kingdom, The Wizard King requires designing a system for the magic academy; this must perform the registration of the student's request and the random assignment of the Grimoire to him. The level of these Grimoires is categorized by the type of clover on the cover:\n* Sincerity – 1-leaf clover.\n* Hope – 2-leaf clover.\n* Love – 3-leaf clover.\n* Good Fortune - 4-leaf clover.\n* Despair – 5-leaf clover.\n\nStudents will have one of the following magic affinities:\n* Darkness\n* Light\n* Fire\n* Water\n* Wind\n* Earth\n\nFor this requirement it is required to expose a Rest API, built with the aforementioned tools.\nThe endpoints necessary to support the following operations must be exposed:\n* Send application for admission.\n* Update admission application.\n* Update application status.\n* Consult all requests.\n* Consult Grimoire assignments.\n* Delete application for admission.\n\nOnce the application is approved, the self-assignment of the Grimoire and the cover must be made.\nApplications for admission must indicate at least the following information of the applicant:\n* Name (only letters, maximum 20 characters).\n* Last name (letters only, maximum 20 characters).\n* Identification (numbers and letters, maximum 10 characters).\n* Age (only numbers, 2 digits).\n* Magical Affinity (mentioned above).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Built with\n\n* [![Python][Python]][python-url]\n* [![FastAPI][FastAPI]][fastapi-url]\n* [![Pydantic][Pydantic]][pydantic-url]\n* [![Starlette][starlette]][starlette-url]\n* [![Uvicorn][uvicorn]][uvicorn-url]\n* [![Gunicorn][gunicorn]][gunicorn-url]\n* [![PostgreSQL][postgresql]][postgresql-url]\n* [![jwt][jwt]][jwt-url]\n* [![MJML][mjml]][mjml-url]\n* [![HTML5][html5]][html5-url]\n* [![Pylint][pylint]][pylint-url]\n* [![Pycharm][Pycharm]][Pycharm-url]\n* [![Markdown][Markdown]][Markdown-url]\n* [![Swagger][Swagger]][Swagger-url]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- GETTING STARTED --\u003e\n\n## Getting started\n\n### Prerequisites\n\n* [Python 3.10+][Python-docs]\n\n### Installation\n\n1. Clone the **repository**\n    ```\n    git clone https://github.com/jpcadena/black-clover.git\n    ```\n2. Change the directory to **root project**\n    ```\n    cd black-clover\n    ```\n3. Create a **virtual environment** *venv*\n    ```\n    python3 -m venv venv\n    ```\n4. Activate **environment** in Windows\n    ```\n    .\\venv\\Scripts\\activate\n    ```\n5. Or with Unix/Mac OS X\n    ```\n    source venv/bin/activate\n    ```\n6. Install requirements with PIP\n    ```\n    pip install -r requirements.txt\n    ```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- USAGE EXAMPLES --\u003e\n\n### Usage\n\n1. If found **sample.env**, rename it to **.env**.\n2. Replace your **credentials** into the *.env* file.\n3. Execute with console\n    ```\n    python main.py\n    ```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- CONTRIBUTING --\u003e\n\n## Contributing\n\n[![GitHub][GitHub]][github-url]\n\nIf you have a suggestion that would make this better, please fork the repo and\ncreate a pull request.\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\nUse docstrings with **reStructuredText** format by adding triple double quotes\n**\"\"\"** after function definition.\\\nAdd a brief function description, also for the parameters including the return\nvalue and its corresponding data type.\\\nPlease use **linting** to check your code quality\nfollowing [PEP 8](https://peps.python.org/pep-0008/).\\\nCheck documentation\nfor [Visual Studio Code](https://code.visualstudio.com/docs/python/linting#_run-linting)\nor [Jetbrains Pycharm](https://github.com/leinardi/pylint-pycharm/blob/master/README.md).\\\nRecommended plugin for\nautocompletion: [Tabnine](https://www.tabnine.com/install)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- LICENSE --\u003e\n\n## License\n\nDistributed under the MIT License.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- CONTACT --\u003e\n\n## Contact\n\n- [![LinkedIn][LinkedIn]][linkedin-url]\n- [![Outlook][Outlook]](mailto:jpcadena@espol.edu.ec?subject=[GitHub]black-clover)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n\n[LinkedIn]: https://img.shields.io/badge/linkedin-%230077B5.svg?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white\n\n[linkedin-url]: https://linkedin.com/in/juanpablocadenaaguilar\n\n[Outlook]: https://img.shields.io/badge/Microsoft_Outlook-0078D4?style=for-the-badge\u0026logo=microsoft-outlook\u0026logoColor=white\n\n[project-screenshot]: app/assets/static/images/project.png\n\n[Python-docs]: https://docs.python.org/3.10/\n\n[Python]: https://img.shields.io/badge/python-3670A0?style=for-the-badge\u0026logo=python\u0026logoColor=ffdd54\n\n[FastAPI]: https://img.shields.io/badge/FastAPI-FFFFFF?style=for-the-badge\u0026logo=fastapi\n\n[Pydantic]: https://img.shields.io/badge/Pydantic-FF43A1?style=for-the-badge\u0026logo=pydantic\u0026logoColor=white\n\n[Starlette]: https://img.shields.io/badge/Starlette-392939?style=for-the-badge\u0026logo=starlette\u0026logoColor=white\n\n[Uvicorn]: https://img.shields.io/badge/Uvicorn-2A308B?style=for-the-badge\u0026logo=uvicorn\u0026logoColor=white\n\n[Gunicorn]: https://img.shields.io/badge/Gunicorn-489846?style=for-the-badge\u0026logo=gunicorn\u0026logoColor=white\n\n[Pylint]: https://img.shields.io/badge/linting-pylint-yellowgreen\n\n[PostgreSQL]: https://img.shields.io/badge/PostgreSQL-336791?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white\n\n[html5]: https://img.shields.io/badge/HTML5-E34F26?style=for-the-badge\u0026logo=html5\u0026logoColor=white\n\n[MJML]: https://img.shields.io/badge/MJML-EB5F3F?style=for-the-badge\u0026logo=mjml\u0026logoColor=white\n\n[JWT]: https://img.shields.io/badge/JWT-black?style=for-the-badge\u0026logo=JSON%20web%20tokens\n\n[PyCharm]: https://img.shields.io/badge/PyCharm-21D789?style=for-the-badge\u0026logo=pycharm\u0026logoColor=white\n\n[Markdown]: https://img.shields.io/badge/Markdown-000000?style=for-the-badge\u0026logo=markdown\u0026logoColor=white\n\n[Swagger]: https://img.shields.io/badge/-Swagger-%23Clojure?style=for-the-badge\u0026logo=swagger\u0026logoColor=white\n\n[python-url]: https://www.python.org/\n\n[fastapi-url]: https://fastapi.tiangolo.com\n\n[pydantic-url]: https://docs.pydantic.dev\n\n[starlette-url]: https://www.starlette.io/\n\n[uvicorn-url]: https://www.uvicorn.org/\n\n[gunicorn-url]: https://gunicorn.org/\n\n[pylint-url]: https://www.pylint.org/\n\n[postgresql-url]: https://www.postgresql.org/\n\n[html5-url]: https://developer.mozilla.org/en-US/docs/Glossary/HTML5\n\n[mjml-url]: https://mjml.io/\n\n[jwt-url]: https://jwt.io/\n\n[Pycharm-url]: https://www.jetbrains.com/pycharm/\n\n[Markdown-url]: https://daringfireball.net/projects/markdown/\n\n[Swagger-url]: https://swagger.io/\n\n[GitHub]: https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge\u0026logo=github\u0026logoColor=white\n\n[GitHub-url]: https://github.com/jpcadena/black-clover\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpcadena%2Fblack-clover","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjpcadena%2Fblack-clover","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpcadena%2Fblack-clover/lists"}