{"id":15209206,"url":"https://github.com/bmarieay/yelp-camp","last_synced_at":"2026-03-10T15:05:12.951Z","repository":{"id":39712680,"uuid":"448797467","full_name":"bmarieay/yelp-camp","owner":"bmarieay","description":"Welcome to my first full stack project, YelpCamp! Feel free to view and post your own campgrounds! (Please allow 5-10 seconds for YelpCamp to load because it is hosted through Heroku)⬇️","archived":false,"fork":false,"pushed_at":"2022-05-27T05:38:58.000Z","size":6185,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-16T14:52:49.046Z","etag":null,"topics":["bootstrap5","campground","crud-application","ejs-templating","express","fullstack-development","heroku","men-stack","mongodb","mongoose","mvc-architecture","nodejs","restful-api","yelpcamp","yelpcamp-united-states"],"latest_commit_sha":null,"homepage":"https://yelpcamp-united-states.herokuapp.com/","language":"JavaScript","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/bmarieay.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":"2022-01-17T07:42:23.000Z","updated_at":"2023-06-16T15:41:11.000Z","dependencies_parsed_at":"2022-08-28T06:33:50.367Z","dependency_job_id":null,"html_url":"https://github.com/bmarieay/yelp-camp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bmarieay/yelp-camp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmarieay%2Fyelp-camp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmarieay%2Fyelp-camp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmarieay%2Fyelp-camp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmarieay%2Fyelp-camp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bmarieay","download_url":"https://codeload.github.com/bmarieay/yelp-camp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmarieay%2Fyelp-camp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30338624,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T15:03:31.997Z","status":"ssl_error","status_checked_at":"2026-03-10T15:01:30.431Z","response_time":106,"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":["bootstrap5","campground","crud-application","ejs-templating","express","fullstack-development","heroku","men-stack","mongodb","mongoose","mvc-architecture","nodejs","restful-api","yelpcamp","yelpcamp-united-states"],"created_at":"2024-09-28T07:22:04.251Z","updated_at":"2026-03-10T15:05:12.922Z","avatar_url":"https://github.com/bmarieay.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YelpCamp United States\nThis is my first full stack CRUD project that allows users to view, post, edit, delete, and leave reviews on the campgrounds. \n\u003cbr\u003e\u003cbr\u003e\n\u003cb\u003eFeatures that I added/will be added on top of Colt Steele's Web Development Bootcamp: \u003c/b\u003e\n\u003cbr\u003e\n\n1.**[NPS API](https://www.nps.gov/subjects/developer/guides.htm)** - I integrated real campgrounds in the United States using an API.\u003cbr\u003e\n2. **☀️light and 🌙dark mode** - I used JS DOM Manipulation, localStorage, and Cookies to implement this themed feature.\u003cbr\u003e\n3. **🌳My campgrounds** - This feature allows users to show the campgrounds they uploaded to YelpCamp! \u003cbr\u003e\n4. **📄pagination feature** - I also used DOM Manipulation, cookies, and Mongoose to implement pagination. This augments the performance by loading only few datas the user wants rather than loading a whole single resource.\u003cbr\u003e\n5. 🔍**Filter Campgrounds Feature** - allows users to look for campgrounds located on a certain state.\n\n\n## 🔨Stacks\nYelpCamp is built with **MEN** (*Mongo, Express, and Node*) stack.\n\n\n## 👀 Previews\n#### Login\n\u003cimg src=\"assets/imgs/login.png\" width=\"90%\" alt=\"Home page\"\u003e\n\n#### Login (dark mode)\n\u003cimg src=\"assets/imgs/logindark.png\" width=\"90%\" alt=\"Home page\"\u003e\n\n#### Register\n\u003cimg src=\"assets/imgs/register.png\" width=\"90%\" alt=\"Home page\"\u003e\n\n#### Register (dark mode)\n\u003cimg src=\"assets/imgs/registerdark.png\" width=\"90%\" alt=\"Home page\"\u003e\n\n#### Homepage\n\u003cimg src=\"assets/imgs/homepage.png\" width=\"100%\" alt=\"Home page\"\u003e\n\n#### All Campgrounds\n\u003cimg src=\"assets/imgs/allcmplight.png\" width=\"100%\" alt=\"Home page\"\u003e\n\n#### All Campgrounds\n\u003cimg src=\"assets/imgs/allcmplight2.png\" width=\"100%\" alt=\"Home page\"\u003e\n\n#### All Campgrounds (dark mode)\n\u003cimg src=\"assets/imgs/allcmpdark.png\" width=\"100%\" alt=\"Home page\"\u003e\n\n#### All Campgrounds (dark mode)\n\u003cimg src=\"assets/imgs/allcmpdark2.png\" width=\"100%\" alt=\"Home page\"\u003e\n\n#### Show a Campground\n\u003cimg src=\"assets/imgs/showcmp.png\" width=\"100%\" alt=\"Home page\"\u003e\n\n#### Show a Campground (dark mode)\n\u003cimg src=\"assets/imgs/showcmpdark.png\" width=\"100%\" alt=\"Home page\"\u003e\n\n#### Edit a Campground\n\u003cimg src=\"assets/imgs/edit.png\" width=\"100%\" alt=\"Home page\"\u003e\n\n#### Reviews\n\u003cimg src=\"assets/imgs/review.png\" width=\"100%\" alt=\"Home page\"\u003e\n\n\n\n## 🧰Tools\n\n### \n1.  #### Mongoose\n2.  #### MapBox\n3.  #### Coudinary\n4.  #### Passport.js\n5.  #### Embedded Javascript\n6.  #### Axios\n7.  #### Joi\n\n\n## 💻 To run on your local machine:\n### Prerequisties:\n1. You should have the following installed on your machine:\n- Node\n- Mongo\n- Git\n- VS Code\n2. You should have the following accounts to gain access to keys, and tokens required for the project:\n- Cloudinary\n- Mapbox\n- NPS\n  \n### Steps:\n1. On the main repository, click the green Code button and copy the SSH. \n\n2. Go or create a directory where you want the repository to be included then type this script on your terminal:\n```\ngit clone [SSH HERE]\n```\n3. Open the cloned repository on VS Code.\n4. On your terminal, download all the dependencies by typing\n   `npm i` or `npm install`\n5. Create a .env file to store the required keys for the project\n\n    *replace value with the appropriate keys from the required accounts mentioned in the prerequisites*\n ```\nCLOUDINARY_CLOUD_NAME=[value]\nCLOUDINARY_KEY=[value]\nCLOUDINARY_SECRET=[value]\nMAPBOX_TOKEN=[value]\nAPI_KEY=[value]\nOWNER_ID=[value]\n```\n\n6. Open a new terminal and type `mongod` to connect the projects on your local database. The project will not start until this is not opened ⚠️\n7. Now to seeds your database, on the previous terminal, type \n ```\n node seeds/index.js\n``` \n8. _(After getting a response of done on your terminal, wait for 3-8 seconds to let all the campgrounds' images get uploaded to cloudinary)._\n9. Hit **CTRL+C** to exit the current process.\n10. Now, you are ready to run the program by typing either of the script on your terminal:\n```\nnode app.js\n```\n  or _(recommended)_\n```\nnodemon app.js\n``` \n\u003cbr\u003e\n11. Once you see \"Database connected\", go to your preferred browser, then go to *localhost:3000*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbmarieay%2Fyelp-camp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbmarieay%2Fyelp-camp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbmarieay%2Fyelp-camp/lists"}