{"id":15009535,"url":"https://github.com/satishdash/flask-rest","last_synced_at":"2026-03-14T16:47:33.623Z","repository":{"id":53668372,"uuid":"99193968","full_name":"satishdash/Flask-REST","owner":"satishdash","description":"A flask based REST project that has simple REST end-points exposed [Based on Python3.5, Flask, MongoDB3.4]","archived":false,"fork":false,"pushed_at":"2023-02-02T06:13:27.000Z","size":11601,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-19T07:42:27.839Z","etag":null,"topics":["flask-restful","mongodb","pymongo","python-3-5"],"latest_commit_sha":null,"homepage":"","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/satishdash.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":"2017-08-03T05:26:03.000Z","updated_at":"2020-02-17T07:20:30.000Z","dependencies_parsed_at":"2023-02-17T14:55:18.691Z","dependency_job_id":null,"html_url":"https://github.com/satishdash/Flask-REST","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/satishdash%2FFlask-REST","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/satishdash%2FFlask-REST/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/satishdash%2FFlask-REST/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/satishdash%2FFlask-REST/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/satishdash","download_url":"https://codeload.github.com/satishdash/Flask-REST/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243234089,"owners_count":20258391,"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":["flask-restful","mongodb","pymongo","python-3-5"],"created_at":"2024-09-24T19:26:12.962Z","updated_at":"2025-12-26T16:54:17.091Z","avatar_url":"https://github.com/satishdash.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flask-REST\nA flask based REST application \u003cb\u003eRecruiter data store\u003c/b\u003e that has simple REST end-points.\n\n* Pre-requisites:\n 1. Install the required libraries mentioned in `requirements.txt`\n 2. Install MongoDB \u003e= 3.2\n\n 3. Set up access control in MongoDB for this REST based application.\n\n \t- Create a `\u003cREST user\u003e` in a separate database, name the database for e.g. `flask`\n \t  \u003e E.g. Log into the mongo shell as `\u003croot\u003e` user created already during the installation phase\n \t  \t     `\u003croot user\u003e` is taken to be the privileged user in the database.\n\n \t  \t$ mongo -u \u003croot user\u003e -p \u003croot user password\u003e --authenticationDatabase \"admin\"\n \t  \t\u003e use flask\n \t  \t\u003e  db.createUser({ user: \"\u003cname\u003e\",\n  \t\t\tpwd: \"\u003ccleartext password\u003e\",\n  \t\t\tcustomData: { \u003cany information\u003e },\n  \t\t\troles: [\n    \t\t\t\t{ role: \"readWrite\", db: \"flask\" } | \"\u003crole\u003e\",\n    \t\t\t\t...\n\t\t\t  ]\n\t\t\t})\n\t\t\u003e exit\n\n \t- Create a new `collection` named `credentials` with fields: \u003cuser,password\u003e in the database created above\n \t  \u003e You can create as many `credentials` documents in the `credentials` collection.\n \t  \u003e E.g. Log into the mongo shell with `\u003cREST user\u003e` and `\u003cREST user password\u003e`\n\t\t$ mongo -u \u003cREST user\u003e -p \u003cREST user password\u003e --authenticationDatabase \"flask\"\n \t  \t\u003e use flask \n \t  \t\u003e db.credentials.insert({\"_id\":, \"user\":\"\u003csome username\u003e\", \"password\":\"\u003csome password\u003e\"})\n\n \t  NOTE: This collection will be used for client authentication to \"/auth\" to receive a token and proceed with token based authentication and API invocation.\n\n \t- Create a base64 encoding of the \"username:password\" while sending a POST reuest to `/auth` for authentication.\n \t  \u003e `cuRL` E.g. curl automatically encodes the username:password combination in base64\n \t  \t\u003e curl -v -u '\u003cusername\u003e:\u003cpassword\u003e' -X POST \"http://\u003chostname\u003e.\u003cdomain\u003e:\u003cport\u003e/auth\"\n\n \t  \u003e For other REST clients ensure to have a base64 encoding (UTF-8) of the `username:password` combination before POSTing to /auth.\n\n 4. Edit the `dbconfig.ini` file under \"db\" with the required properties.\n \t- `mongodb url`\n \t- `db username`\n \t- `db password`\n \t- `db name`\n \t- `credential collection`\n \t- `token collection name`\n \t- `collection name`\n\n\n* Application Execution:\n\t- Start the server as `python routes.py`\n\n* List of REST end-points:\n \t- To get the list of available REST end-point(s) , send a GET request to: \"http://hostname.domain:port/list-apis\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsatishdash%2Fflask-rest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsatishdash%2Fflask-rest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsatishdash%2Fflask-rest/lists"}