{"id":20627033,"url":"https://github.com/schneedotdev/find-a-dev","last_synced_at":"2026-04-11T01:06:29.553Z","repository":{"id":108533305,"uuid":"521080745","full_name":"schneedotdev/find-a-dev","owner":"schneedotdev","description":"Find developers who are willing to offer time to tutor! Filter through a list of devs by technology.","archived":false,"fork":false,"pushed_at":"2022-10-19T15:24:26.000Z","size":2070,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-15T13:04:43.984Z","etag":null,"topics":["ejs","express","javascript","mongodb","nodejs","tutoring"],"latest_commit_sha":null,"homepage":"https://find-a-dev.up.railway.app/","language":"EJS","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/schneedotdev.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,"governance":null}},"created_at":"2022-08-04T01:13:25.000Z","updated_at":"2022-11-04T10:47:49.000Z","dependencies_parsed_at":"2023-07-24T22:18:47.660Z","dependency_job_id":null,"html_url":"https://github.com/schneedotdev/find-a-dev","commit_stats":null,"previous_names":["schneedotdev/find-a-dev"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/schneedotdev/find-a-dev","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schneedotdev%2Ffind-a-dev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schneedotdev%2Ffind-a-dev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schneedotdev%2Ffind-a-dev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schneedotdev%2Ffind-a-dev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/schneedotdev","download_url":"https://codeload.github.com/schneedotdev/find-a-dev/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schneedotdev%2Ffind-a-dev/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271553232,"owners_count":24779820,"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","status":"online","status_checked_at":"2025-08-21T02:00:08.990Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["ejs","express","javascript","mongodb","nodejs","tutoring"],"created_at":"2024-11-16T13:15:33.502Z","updated_at":"2026-04-11T01:06:29.481Z","avatar_url":"https://github.com/schneedotdev.png","language":"EJS","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch3 align=\"center\"\u003eFind a Dev\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    Find developers who can assist your learning process in certain technologies!\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/brianschnee/find-a-dev#about-the-project\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://find-a-dev.up.railway.app/\"\u003eView Demo\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/brianschnee/find-a-dev/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/brianschnee/find-a-dev/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#lessons-learned\"\u003eLessons Learned\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\n\u003cimg width=\"1422\" alt=\"Screen Shot 2022-10-07 at 2 54 33 PM\" src=\"https://user-images.githubusercontent.com/77141303/194632569-8aa1f3f0-f480-401f-adeb-9d66d5601c9e.png\"\u003e\n\n\n\u003cbr/\u003e\nFind developers who are willing to support your learning journey in software! You can cater your search by popular web technology. For users who are interested in offering their help, please click the \"Offer Help\" button and subimit your information to get posted on the help board!\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Built with\n\n- MongoDB\n- Express.js\n- Node\n- EJS\n- JavaScript\n- CSS\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\n### Installation\n\n_In order to clone a local copy of this repository, please follow the steps below._\n\n1. Navigate to the folder you would like to store the project\n2. Clone the repo\n   ```sh\n   git clone https://github.com/brianschnee/find-a-dev.git\n   ```\n3. Switch into the directory that was just created\n    ```sh\n    cd find-a-dev\n    ```\n4. Install NPM packages\n   ```sh\n   npm install\n   ```\n5. Create a .env file at the base of your directory called `.env`\n6. Enter your MongoURI string in `.env` with the key `DB_STRING`\n   ```sh\n   DB_STRING=\"\u003cReplace everything in quotes with MongoDB Connection String\u003e\"\n   ```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- USAGE EXAMPLES --\u003e\n## Usage\n\nIn order to use this application. Navigate to the find-a-dev \u003ca href=\"https://find-a-dev.up.railway.app/\"\u003ewebsite\u003c/a\u003e and search through a list of developers who are willing to support your journey in tech. You may filter through developers by popular technologies such as \"Node.js\" or \"MongoDB.\" To sign up and offer help to our community, please click the `Offer Help` button and submit your information for other devs to see. Your information will be stored in our Mongo DB and rendered for users to see.\n\n\u003cimg width=\"1421\" alt=\"Screen Shot 2022-10-07 at 2 54 00 PM\" src=\"https://user-images.githubusercontent.com/77141303/194632148-31503b52-c8b2-4efb-89c0-ef34b07f419f.png\"\u003e\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- ROADMAP --\u003e\n## Roadmap\n\n- [ ] Convert to Mongoose\n- [ ] Convert to MVC Architecture\n- [ ] Add Authentication to confirm user social media accounts using Passport.js or Auth0\n- [ ] Add mobile compatibility by created responsive queries\n- [ ] Add Pagination to reduce render size when user base grows\n- [ ] Add user direct messaging using Socket.io\n\nSee the [open issues](https://github.com/brianschnee/find-a-dev/issues) for a full list of proposed features (and known issues).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- Lessons Learned --\u003e\n## Lessons Learned\n\n- How to create UI components that send requests to my express server, which will filter through a collection of developers stored in a mongo database and then render the results back to the client.\n- When prompting for a user's twitter profile, I encountered the dangers of allowing links to be hidden behind icons in my UI. To protect against malicious intent, I now prompt for a users twitter profile name (rather than the full URL) which will be appended to a twitter url. This makes it so that malicious links provided by users will result in a 404 error from twitter, because the route is set to detect user profile names.\n- Allowing users to submit their own profile pictures comes at the cost of potentially allowing innapropriate content. For this project, I had been able to pull profile images from github without having to access the platforms api/requiring OAuth. I do so by appending \".png\" to a github profile link, which then redirects to a source file I am able to render. During later iterations of this app, I will implement OAuth in order to provide a more accurate/secure user experience.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\nTwitter - [@BrianSchneeDev](https://twitter.com/brianschneedev)\n\nEmail - [Contact Me](https://www.brianschnee.com/#contact)\n\nProject Link: [https://github.com/brianschnee/find-a-dev](https://github.com/brianschnee/find-a-dev)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschneedotdev%2Ffind-a-dev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fschneedotdev%2Ffind-a-dev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschneedotdev%2Ffind-a-dev/lists"}