{"id":25750520,"url":"https://github.com/prajwalsrinvas/event_api","last_synced_at":"2026-05-14T13:40:37.701Z","repository":{"id":44973751,"uuid":"359795756","full_name":"Prajwalsrinvas/event_api","owner":"Prajwalsrinvas","description":"An API created using FastAPI to provide information on important events that have occurred on a given day, month or throughout the year.","archived":false,"fork":false,"pushed_at":"2022-01-15T05:46:00.000Z","size":1809,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2023-03-11T23:41:53.425Z","etag":null,"topics":["fastapi","web-scraping"],"latest_commit_sha":null,"homepage":"https://events-fastapi.herokuapp.com/","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/Prajwalsrinvas.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}},"created_at":"2021-04-20T11:46:56.000Z","updated_at":"2022-01-15T05:46:03.000Z","dependencies_parsed_at":"2022-09-22T14:50:35.415Z","dependency_job_id":null,"html_url":"https://github.com/Prajwalsrinvas/event_api","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prajwalsrinvas%2Fevent_api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prajwalsrinvas%2Fevent_api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prajwalsrinvas%2Fevent_api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prajwalsrinvas%2Fevent_api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Prajwalsrinvas","download_url":"https://codeload.github.com/Prajwalsrinvas/event_api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240858567,"owners_count":19869001,"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":["fastapi","web-scraping"],"created_at":"2025-02-26T13:16:56.857Z","updated_at":"2025-10-19T10:55:04.052Z","avatar_url":"https://github.com/Prajwalsrinvas.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Events API\n\nAn API created using FastAPI to provide us information on important events that have occurred on a given day, month or throughout the year.\n\n## endpoints\n\n- [/](https://events-fastapi.herokuapp.com/) : acts as homepage\n- [/events](https://events-fastapi.herokuapp.com/events) : returns all events information \n- [/events/today](https://events-fastapi.herokuapp.com/events/today) : returns events that occurred on current month and day\n- [/events/{month}](https://events-fastapi.herokuapp.com/events/november) : returns events that occurred on particular month, ex: /months/november\n- [/events/{month}/{day}](https://events-fastapi.herokuapp.com/events/november/6) : returns events that occurred on particular day and month, ex: /events/november/6\n- [/docs](https://events-fastapi.herokuapp.com/docs) : API documentation automatically created by FastAPI using [Swagger UI](https://swagger.io/tools/swagger-ui/)\n- [/redoc](https://events-fastapi.herokuapp.com/redoc): API documentation automatically created by FastAPI using [redoc](https://github.com/Redocly/redoc)\n\n## Screenshots\n\n### Homepage\n\n![home](https://github.com/Prajwalsrinvas/event_api/blob/main/screenshots/1.home.png)\n\n### Documentation\n\n![docs](https://github.com/Prajwalsrinvas/event_api/blob/main/screenshots/2.docs.png)\n\n### All events\n\n![all events](https://github.com/Prajwalsrinvas/event_api/blob/main/screenshots/3.events.png)\n\n### Events that occurred on today's date\n\n![today events](https://github.com/Prajwalsrinvas/event_api/blob/main/screenshots/4.events_today.png)\n\n### Events that occurred on a particular month\n\n![monthly events](https://github.com/Prajwalsrinvas/event_api/blob/main/screenshots/5.events_november.png)\n\n### Events that occurred on a particular day of the month\n\n![daily events](https://github.com/Prajwalsrinvas/event_api/blob/main/screenshots/6.events_november_6.png)\n\n\n## file descriptions\n\n### [collect_events.py](https://github.com/Prajwalsrinvas/event_api/blob/main/collect_events.py)\n\n- Used to scrape [this site](https://www.onthisday.com/) using requests and BeautifulSoup modules, for all events information.\n- Uses functions defined in [scraper.py](https://github.com/Prajwalsrinvas/event_api/blob/main/scraper.py)\n- Events information stored as events.json, which is used as source of data by the API\n\n### [main.py](https://github.com/Prajwalsrinvas/event_api/blob/main/main.py)\n\n- Serves events information as an API using FastAPI\n- Uses functions defined in [services.py](https://github.com/Prajwalsrinvas/event_api/blob/main/services.py)\n\n## How to run it?\n\n- python3 collect_events.py\n  - creates events.json \n  - events.json file included for convenience\n- uvicorn main:app --reload\n  - deploys API on localhost using uvicorn server\n\n\n## References:\n\n- [FastAPI and Web Scraping in Python - Part 1: Project Setup and Scraping](https://www.youtube.com/watch?v=Nni0HX9O4hc)\n- [FastAPI and Web Scraping in Python - Part 2: FastAPI](https://www.youtube.com/watch?v=hOipXax0Ogw)\n- [FastAPI Documentation](https://fastapi.tiangolo.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprajwalsrinvas%2Fevent_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprajwalsrinvas%2Fevent_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprajwalsrinvas%2Fevent_api/lists"}