{"id":22468598,"url":"https://github.com/projectweekend/falcon-postgresql-api-seed","last_synced_at":"2025-08-02T08:32:24.501Z","repository":{"id":29775695,"uuid":"33319685","full_name":"projectweekend/Falcon-PostgreSQL-API-Seed","owner":"projectweekend","description":"A starting point for a Falcon API backend using no ORM.","archived":false,"fork":false,"pushed_at":"2015-12-21T16:56:36.000Z","size":50,"stargazers_count":16,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-13T11:07:19.477Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/projectweekend.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}},"created_at":"2015-04-02T16:32:27.000Z","updated_at":"2020-12-17T06:50:17.000Z","dependencies_parsed_at":"2022-09-12T17:10:15.741Z","dependency_job_id":null,"html_url":"https://github.com/projectweekend/Falcon-PostgreSQL-API-Seed","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/projectweekend%2FFalcon-PostgreSQL-API-Seed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectweekend%2FFalcon-PostgreSQL-API-Seed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectweekend%2FFalcon-PostgreSQL-API-Seed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectweekend%2FFalcon-PostgreSQL-API-Seed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/projectweekend","download_url":"https://codeload.github.com/projectweekend/Falcon-PostgreSQL-API-Seed/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228453982,"owners_count":17922585,"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":[],"created_at":"2024-12-06T11:17:56.151Z","updated_at":"2024-12-06T11:17:56.717Z","avatar_url":"https://github.com/projectweekend.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"A Falcon Seed Project\n====================\n\n\"Falcon follows the REST architectural style, meaning (among other things) that you think in terms of resources and state transitions, which map to HTTP verbs.\" - [http://falconframework.org/](http://falconframework.org/)\n\n* [https://github.com/falconry/falcon](https://github.com/falconry/falcon)\n* [http://falcon.readthedocs.org/en/latest/](http://falcon.readthedocs.org/en/latest/)\n* [Python 3.5](https://docs.python.org/3/whatsnew/3.5.html)\n\n\n\nEnvironment Variables\n====================\n\nThere are just a couple of configurations managed as environment variables. In the development environment, these are injected by Docker Compose and managed in the `docker-compose.yml` file.\n\n* `DATABASE_URL` - This is the connection URL for the PostgreSQL database. It is not used in the **development environment**.\n* `DEBUG` - This toggles debug mode for the app to True/False.\n* `SECRET_KEY` - This is a secret string that you make up. It is used to encrypt and verify the authentication token on routes that require authentication. This is required. The app won't start without it.\n\n\n\nDatabase Migrations\n====================\n\nDatabase migrations are handled by [Flyway](http://flywaydb.org/) and files are stored in the `/sql` directory. Migrations are automatically applied when running tests with Nose. You can run migrations manually in the development environment using `docker-compose` too. To do this you will first need to identify the IP address assigned to the database by [checking available environment variables](https://docs.docker.com/compose/env/).\n\n```\ndocker-compose run web ./local_migrate.sh\n```\n\n\n\nRunning Tests\n====================\n\nTests, with code coverage reporting can be ran with the following command:\n```\ndocker-compose run web nosetests -v --with-coverage --cover-package=app --cover-xml --cover-html\n```\n\n\nAPI Routes\n====================\n\n\n### Authenticate a user\n\n**POST:**\n```\n/v1/authenticate\n```\n\n**Body:**\n```json\n{\n    \"email\": \"something@email.com\",\n    \"password\": \"12345678\"\n}\n```\n\n**Response:**\n```json\n{\n    \"token\": \"reallylongjsonwebtokenstring\"\n}\n```\n\n**Status Codes:**\n* `200` if successful\n* `400` if incorrect data provided\n* `401` if invalid credentials\n\n\n### Register a user\n\n**POST:**\n```\n/v1/user\n```\n\n**Body:**\n```json\n{\n    \"email\": \"something@email.com\",\n    \"password\": \"12345678\"\n}\n```\n\n**Response:**\n```json\n{\n    \"token\": \"reallylongjsonwebtokenstring\"\n}\n```\n\n**Status Codes:**\n* `201` if successful\n* `400` if incorrect data provided\n* `409` if email is in use\n\n\n### Request a password reset\n\n**POST:**\n```\n/v1/password-reset/request\n```\n\n**Body:**\n```json\n{\n    \"email\": \"something@email.com\"\n}\n```\n\n**Response:** None\n\n**Status Codes:**\n* `201` if successful\n* `400` if incorrect data provided\n\n\n### Confirm a password reset\n\n**POST:**\n```\n/v1/password-reset/confirm\n```\n\n**Body:**\n```json\n{\n    \"code\": \"6afc2148-5e2f-4c71-93a9-d250f90fccc2\",\n    \"password\": \"MyNewPassword\"\n}\n```\n\n**Response:** None\n\n**Status Codes:**\n* `200` if successful\n* `400` if incorrect data provided\n* `401` if code not valid\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprojectweekend%2Ffalcon-postgresql-api-seed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprojectweekend%2Ffalcon-postgresql-api-seed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprojectweekend%2Ffalcon-postgresql-api-seed/lists"}