{"id":19123733,"url":"https://github.com/cwithmichael/yelp-camp-flask","last_synced_at":"2026-05-10T07:32:46.126Z","repository":{"id":47801161,"uuid":"326882186","full_name":"cwithmichael/yelp-camp-flask","owner":"cwithmichael","description":"A Python/Flask fork of the Node.js/Express based YelpCamp project ","archived":false,"fork":false,"pushed_at":"2022-02-20T02:05:12.000Z","size":256,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-03T09:14:35.877Z","etag":null,"topics":["flask","mapbox","mongodb","python","python3"],"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/cwithmichael.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":"2021-01-05T04:06:25.000Z","updated_at":"2022-02-20T01:40:40.000Z","dependencies_parsed_at":"2022-08-23T21:50:16.242Z","dependency_job_id":null,"html_url":"https://github.com/cwithmichael/yelp-camp-flask","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/cwithmichael%2Fyelp-camp-flask","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwithmichael%2Fyelp-camp-flask/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwithmichael%2Fyelp-camp-flask/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwithmichael%2Fyelp-camp-flask/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cwithmichael","download_url":"https://codeload.github.com/cwithmichael/yelp-camp-flask/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240182009,"owners_count":19761171,"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","mapbox","mongodb","python","python3"],"created_at":"2024-11-09T05:26:59.783Z","updated_at":"2026-05-10T07:32:41.104Z","avatar_url":"https://github.com/cwithmichael.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# yelp-camp-flask\n\nThis project is based off of the wonderful YelpCamp project presented in the [Web Developer Boot Camp course on Udacity](https://www.udemy.com/share/101W9CBUETdVtRTXQ=/)\nThe original project uses Node.js and Express. I decided to do the project with Python and Flask. The front-end is mostly the same. There weren't huge differences between ejs and jinja templates.\nThe back-end has a few changes, but I tried to stay as faithul to the original course project as possible.\n\nThe original project can be found [here](https://github.com/Colt/YelpCamp).\n\n## Example screenshots\n\n\u003cimg width=\"1679\" alt=\"Screen Shot 2021-08-22 at 3 48 44 PM\" src=\"https://user-images.githubusercontent.com/1703143/130369675-dbe98f08-21e5-46ae-bcea-4ec4651618a2.png\"\u003e\n\n\u003cimg width=\"1679\" alt=\"Screen Shot 2021-08-22 at 3 50 23 PM\" src=\"https://user-images.githubusercontent.com/1703143/130369697-b4d501d8-5969-4882-92b5-9f74792ebdc1.png\"\u003e\n\n## Requirements (Development)\n- Python 3.9.1\n\n- pipenv\n\n- Local MongoDB instance\n\n- [Free Cloudinary account](https://cloudinary.com/users/register/free) for uploading images\n\n- [Free mapbox account](https://www.mapbox.com/) for forward geocoding functionality\n\n## Running it (On a *nix based OS)\nMake sure you have your local MongoDB instance running before starting the app.\n\nMake sure you have [pipenv installed](https://pipenv.pypa.io/en/latest/install/#installing-pipenv)\n\n1.Run pipenv install\n\n\tpipenv install  \n2.Start the pipenv shell\n\n\tpipenv shell  \n3.Export the Flask environment vars\n\n\texport FLASK_APP=yelp  \n\n\texport FLASK_ENV=development  \n4.Seed the database\n\n\tflask seed-db  \n5.Run the app\n\n\tflask run\n\n## Using the app\nAt this point you should be able to play around with the app. You'll need to either login or register to make changes to existing campgrounds or add new ones.\n\nThe login info for the test account:\n\n`username: fake`\n\n`password: fake`\n\nNote: Uploading images won't work until you've added your Cloudinary creds.\n\n## Adding your Cloudinary creds\n![cloudinary_api](https://user-images.githubusercontent.com/1703143/104138340-142b8500-5369-11eb-8b5b-2cc4f1e6bea7.png)\n\nSimply create a `.env` file inside of the `instance` folder. The `instance` folder gets created the first time you run the app. \nIf you haven't run the app yet, then just create the folder yourself in the root of the project.\n\nAnd add the `CLOUDINARY_URL` api environment variable you got from Cloudinary to the `.env` file:\n\n`CLOUDINARY_URL=cloudinary://\u003capi_key\u003e:\u003capi_secret\u003e@\u003ccloud_name\u003e`\n\n## Adding your Mapbox token\nModify the `.env` file inside of the `instance` folder by adding the line below:\n\n`MAPBOX_TOKEN=\u003cYOUR_TOKEN\u003e`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcwithmichael%2Fyelp-camp-flask","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcwithmichael%2Fyelp-camp-flask","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcwithmichael%2Fyelp-camp-flask/lists"}