Find developers who can assist your learning process in certain technologies!
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
Find 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!
- MongoDB
- Express.js
- Node
- EJS
- JavaScript
- CSS
In order to clone a local copy of this repository, please follow the steps below.
- Navigate to the folder you would like to store the project
- Clone the repo
git clone https://github.com/brianschnee/find-a-dev.git
- Switch into the directory that was just created
cd find-a-dev
- Install NPM packages
npm install
- Create a .env file at the base of your directory called
.env
- Enter your MongoURI string in
.env
with the keyDB_STRING
DB_STRING="<Replace everything in quotes with MongoDB Connection String>"
In order to use this application. Navigate to the find-a-dev website 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.
- Convert to Mongoose
- Convert to MVC Architecture
- Add Authentication to confirm user social media accounts using Passport.js or Auth0
- Add mobile compatibility by created responsive queries
- Add Pagination to reduce render size when user base grows
- Add user direct messaging using Socket.io
See the open issues for a full list of proposed features (and known issues).
- 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.
- 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.
- 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.
Twitter - @BrianSchneeDev
Email - Contact Me
Project Link: https://github.com/brianschnee/find-a-dev