{"id":21458152,"url":"https://github.com/samuelselasi/knowafrika-api","last_synced_at":"2026-02-28T15:31:43.901Z","repository":{"id":303516668,"uuid":"728863780","full_name":"samuelselasi/KnowAfrika-API","owner":"samuelselasi","description":"Accessible API to know Africa","archived":false,"fork":false,"pushed_at":"2025-05-13T10:31:40.000Z","size":22421,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-08T05:31:40.554Z","etag":null,"topics":["api","authentication-backend","fastapi","fastmail","mailtrap-io","oauth2","postgresql","postman-test","pytest","sqlalchemy-orm","userdata"],"latest_commit_sha":null,"homepage":"https://github.com/samuelselasi/KnowAfrika-API.git","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/samuelselasi.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":"2023-12-07T21:32:31.000Z","updated_at":"2025-05-13T10:32:57.000Z","dependencies_parsed_at":"2025-07-08T04:44:10.006Z","dependency_job_id":null,"html_url":"https://github.com/samuelselasi/KnowAfrika-API","commit_stats":null,"previous_names":["samuelselasi/knowafrika-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/samuelselasi/KnowAfrika-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelselasi%2FKnowAfrika-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelselasi%2FKnowAfrika-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelselasi%2FKnowAfrika-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelselasi%2FKnowAfrika-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samuelselasi","download_url":"https://codeload.github.com/samuelselasi/KnowAfrika-API/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samuelselasi%2FKnowAfrika-API/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29940284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T13:49:17.081Z","status":"ssl_error","status_checked_at":"2026-02-28T13:48:50.396Z","response_time":90,"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":["api","authentication-backend","fastapi","fastmail","mailtrap-io","oauth2","postgresql","postman-test","pytest","sqlalchemy-orm","userdata"],"created_at":"2024-11-23T06:17:58.721Z","updated_at":"2026-02-28T15:31:43.862Z","avatar_url":"https://github.com/samuelselasi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KnowAfrika API\n***Accessible API to know Africa***\n\n![knowafrika_113603](https://github.com/samuelselasi/KnowAfrika-API/assets/85158665/c996a1d4-dea7-45e3-9068-7974aeb065e3)\n\n## Content\n\n* [About](#about)\n* [Installation](#installation)\n* [Usage](#usage)\n* [Features](#features)\n* [Contributing](#contributing)\n* [License](#license)\n* [Authors](#authors)\n\n## About\n\nThe inception of the `KnowAfrika` API was motivated by\nour aspiration to offer a solution focused on acquiring\na deeper understanding of Africa through an `API` service.\n\nWe firmly believe in the transformative potential of\ntechnology to democratize information.\n\nOur overarching mission is to enhance the accessibility\nof information about Africa, making it readily available\nto individuals not only across the continent but\nalso worldwide.\n\n## Installation\n\nRefer to [backend](./backend) directory for\ndetailed information on installation and environment requirements\n\n\n## Usage\n\n### API Access\n* **Base url** -\u003e `http://127.0.0.1:8000`\n* **SWagger  docs** -\u003e `http://127.0.0.1:8000/docs`\n\n### API Requests\n* **Curl** -\u003e On command terminal\n* **Browser** \n\n***find out more in [technical documentation](./frontend/web_static/tech_doc.html) page***\n\n## Features\n\n| Feature | \tDescription | Directory |\n| --- | --- | --- |\n| Landing Page | Page containing information on the project and contacts of contributers | [Web Static](./frontend/web_static/index_html) |\n| Technical Documentation Page | Page containing technical documentation of API | [Web Static](./frontend/web_static/tech_doc.html) |\n| User Modules | Router containing endpoints with CRUD functions on `User` modules | [Users](./backend/app/routers/user) |\n| Authentication | Router containing endpoints with CRUD functions on user `authentication` | [Authentication](./backend/app/routers/auth) |\n| Regions | Router containing endpoints with CRUD functions on `regions` of Africa | [Regions](./backend/app/routers/regions) |\n| Countries | Router containing endpoints with CRUD functions on African `countries` | [Countries](./backend/app/routers/countries) |\n| Provinces | Router containing endpoints with CRUD functions on `provinces` of African countries | [Provinces](./backend/app/routers/provinces) |\n| Cities | Router containing endpoints with CRUD functions on `cities` of provinces in African countries | [Cities](./backend/app/routers/cities) |\n| Attractions | Router containing endpoints with CRUD functions on `attractions` of cities in African countries | [Attractions](./backend/app/routers/attractions) |\n| Flags | Router containing endpoints with CRUD functions on `falgs` of African countries  | [Flags](./backend/app/routers/flags) |\n| Currencies | Router containing endpoints with CRUD functions on `currencies` of African countries | [Currencies](./backend/app/routers/currencies) |\n| Languages | Router containing endpoints with CRUD functions on `languages` of African countries | [Languages](./backend/app/routers/languages) |\n| Time-zones | Router containing endpoints with CRUD functions on `time-zones` of African countries | [Time-zones](./backend/app/routers/timezones) |\n| Transport | Router containing endpoints with CRUD functions on `transportation` modes of African countries | [Transportation](./backend/app/routers/transport) |\n| Constitutions | Router containing endpoints with CRUD functions on `constitutions` of African countries | [Constitutions](./backend/app/routers/constitutions) |\n| Holidays | Router containing endpoints with CRUD functions on `holidays` of African countries | [Holidays](./backend/app/routers/holidays) |\n| Contacts | Router containing endpoints with CRUD functions on `emergency contacts` of African countries | [Contacts](./backend/app/routers/contacts) |\n\n\n## Contributing\n* **Main Branch**\nThe `main` branch represents the main\ncodebase and should always contain stable\nand production-ready code. Developers\nshould avoid directly committing\nchanges to this branch to maintain\nits integrity.\n\n* **Feature Branches**\nWhen working on a new feature, bug fix,\nor improvement, developers create a new\nbranch from the \"main\" branch.\nThis branch is often named after the\nfeature or issue being addressed.\n\n* **Code Development**\nDevelopers work in their respective feature\nbranches to implement and test the\nchanges related to their assigned\ntasks. Frequent commits are made to\ntrack progress.\n\n* **Pull Requests (PRs)**\nOnce a feature or bug fix is complete,\nthe developer creates a pull request\nfrom their feature branch to the `master`\nbranch. The pull request includes a\nsummary of changes, the purpose of the\ncode, and any relevant details.\n\n* **Code Review**\nTeam members or designated reviewers review\nthe code changes in the pull request. They\nprovide feedback, suggest improvements,\nand ensure code quality and best practices.\n\n* **Continuous Integration (CI)**\nAutomated tests and checks are run as part\nof the CI process to verify that the new code\nintegrates smoothly with the existing\ncodebase and passes all necessary tests.\n\n* **Merging**\nAfter the pull request is approved and any\nrequested changes are addressed, the code\nis merged into the `master` branch. This\nintegration brings the new feature or\nfix into the main codebase.\n\n* **Tagging and Releases**\nOnce a set of features or bug fixes is\nmerged into the `master` branch, a\nrelease may be created by tagging the\ncommit with a version number. This\nhelps track and manage different\nversions of the software.\n\n* **Branch Cleanup**\nAfter successful merging, feature\nbranches are usually deleted to keep\nthe repository organised and avoid\nclutter.\n\n***By following this branching and merging process,\nteams can collaborate effectively, maintain a stable\nmain codebase, and ensure that new code additions\nare well-tested and thoroughly reviewed before\nbecoming part of the production code.***\n\n## License\n#### This project is licensed under the MIT License - see [LICENSE](./LICENSE) for details.\n\n## Authors\n\n1. [Samuel Selasi K.](https://github.com/samuelselasi) -\u003e [Linkedin](https://www.linkedin.com/in/samuel-selasi-kporvie), [Medium](https://medium.com/@onepunchcoder), [X](https://medium.com/@onepunchcoder)\n\n2. [Stacy Gakiria](https://github.com/SKGakiria) -\u003e [Linkedin](), [Medium](), [x]()\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuelselasi%2Fknowafrika-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamuelselasi%2Fknowafrika-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuelselasi%2Fknowafrika-api/lists"}