Giter VIP home page Giter VIP logo

find-a-mentor's Introduction

Tests contributions welcome create-react-app supported storybook style: styled-components TypeScript

Powered By Vercel

Support Us

CodingCoach is a FREE platform that is built and managed entirely by volunteers. As always, there are ongoing costs to run this site such as servers, domains, email, and more. Please consider becoming a patron so we can continue our mission of being accessible and free ❤️

Patreon donate button

Pre-release version of Coding Coach.

Looking for a mentor?

Please read our Mentorships Guideline

  1. Go to https://mentors.codingcoach.io/
  2. Register (or Login)
  3. Search for a mentor - use the filters for better matching
  4. Find one or more? Hit the "Apply" button in their card
  5. Fill the request form
  6. Wait for the mentor accept your request (We'll send you an email either if the mentor accepts or declines your request)
  7. Contact them using one of their channels

We're aware that some mentors are not active and we are working on ways to keep only the active mentors. If you didn't receive any response, you can apply to more mentors. Don't forget to let the the other mentors know once you started a mentorship with a different mentor.

Want to be a mentor?

Please read our Mentorships Guideline

  1. Go to https://mentors.codingcoach.io/.
  2. Register
  3. Click on your avatar image and click on Become a Mentor.
  4. Fill the form with your details and your contact channels.
  5. Wait for an approval message (usually it dosn't take more than few hours)

Requirements

Want to contribute to this project?

That's why we're here! 😀

Have an idea? Please use a branch and create a PR. If you aren't sure how to do this, ask us or find a mentor who can assist.

Don't have time to code it? Please open an issue.

Workflow

This section describes the workflow we are going to follow when working on a new feature or fixing a bug. If you want to contribute, please follow these steps:

  1. Fork this project
  2. Clone the forked project to your local environment, for example: git clone [email protected]:crysfel/coding-coach-front-end.git (Make sure to replace the URL with the one to your own repository).
  3. Add the original project as a remote, for this example the name is upstream, feel free to use whatever name you want. git remote add upstream https://github.com/Coding-Coach/find-a-mentor.git.

Forking the project will create a copy of that project in your own GitHub account, you will commit your work against your own repository.

Quick start

  1. Navigate to the project folder.
  2. Run yarn
  3. Run yarn test
  4. Type a to run all tests
  5. Type q to quit (this will start cypress and set that up)
  6. If the browser doesn't open automatically, navigate to http://localhost:3000 to see the site.

For other options, please see Available Scripts below.

Storybook

We're using Storybook. Each reusable component should be added. If you're not sure 🤷🏾, please ask 🙋

Production

https://mentors.codingcoach.io/sb/

Local

yarn storybook

The stories are located under src/stories

Updating your local

In order to update your local environment to the latest version on master, you will have to pull the changes using the upstream repository, for example: git pull upstream master. This will pull all the new commits from the origin repository to your local environment.

Features/Bugs

When working on a new feature, create a new branch feature/something from the master branch, for example feature/login-form. Commit your work against this new branch and push everything to your forked project. Once everything is completed, you should create a PR to the original project. Make sure to add a description about your work.

When fixing a bug, create a new branch fix/something from the master branch, for example fix/css-btn-issues. When completed, push your commits to your forked repository and create a PR from there. Please make sure to describe what was the problem and how did you fix it.

Updating your local branch

Let's say you've been working on a feature for a couple days, most likely there are new changes in master and your branch is behind. In order to update it to the latest (You might not need/want to do this) you need to pull the latest changes to master and then rebase your current branch.

$ git checkout master
$ git pull upstream master
$ git checkout feature/something-awesome
$ git rebase master

After this, your commits will be on top of the master commits. From here you can push to your origin repository and create a PR.

You might have some conflicts while rebasing, try to resolve the conflicts for each individual commit. Rebasing is intimidating at the beginning, if you need help, don't be afraid to reach out in Slack.

Slack

Coding Coach is on Slack! Click here to join.


This project was created with Next.js

Available Scripts

In the project directory, you can run:

yarn dev

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

yarn test

Launches the test runner.

yarn test:e2e

Launches the Cypress test runner and the app; must run on port 3000. Learn more about Cypress on their website.

Alternatively You can also use Gitpod ( a free online IDE that will automate your dev setup ) for contributing with a single click. It will launch a ready to code workspace with the dependencies pre-installed so that you can start contributing without wasting precious time on development setup.

Open in Gitpod

Code of Conduct

At Coding Coach, we value all our mentors, mentees, and contributors. Our goal is to make this a safe space where new and experienced developers can connect and learn from one another. Therefore, we do not tolerate any form of harassment or prejudice. This Code of Conduct applies to all Coding Coach spaces including but not limited to Slack, email correspondence, and social media.

Harassment includes but is not limited to:

  • Offensive comments related to gender, gender identity and expression, sexual orientation, disability, mental illness, physical appearance, body size, age, race, or religion.
  • Deliberate misgendering or use of ‘dead’ or rejected names.
  • Physical contact and simulated physical contact (eg, textual descriptions like “hug” or “backrub”) without consent or after a request to stop.
  • Threats of violence.
  • Incitement of violence towards any individual, including encouraging a person to commit suicide or to engage in self-harm.
  • Deliberate intimidation.
  • Stalking or following.
  • Harassing photography or recording, including logging online activity for harassment purposes.
  • Unwelcome sexual attention such as sexual images or behaviour in spaces where they’re not appropriate.
  • Pattern of inappropriate social contact, such as requesting/assuming inappropriate levels of intimacy with others
  • Continued one-on-one communication after requests to cease.
  • Deliberate “outing” of any aspect of a person’s identity without their consent except as necessary to protect vulnerable people from intentional abuse.
  • Publication of non-harassing private communication.

We value integrity here at Coding Coach. As such, mentees may not ask for solutions to technical interview take home assessments. We're happy to mentor you in the process of solving difficult questions, but will not provide you with solutions to your assessments as they are meant to reflect your personal skill set.

Members who violate this code of conduct will be approached by someone of the Coding Coach leadership team and asked to stop immediately. Members may also be banned from the Coding Coach Slack, blocked on social media, and removed from the website.

If someone makes you or anyone else feel unsafe or unwelcome, please report it as soon as possible. To report an incident of harassment, anonymously or otherwise, please fill out our report form.

Our primary goal is to support you. We will listen to you and then help you determine a course of action based on the situation. While harassment may not always result in that member being expelled from the group, depending on the type and severity of harassment. We want to make sure you have all the support you need no matter what that entails, including whether to stay anonymous or not. Whatever decision you make, our priority is your safety.

Support Coding Coach

Our goal is to keep Coding Coach a free platform because we believe that mentorship should be free and accessible for all users. However, there are some costs incurred with creating a platform. We could use your help! If you're just as passionate about Coding Coach as we are, we'd appreciate your support on Patreon. Here, you can sign up to be a member and help support our mission.

find-a-mentor's People

Contributors

brentmclark avatar crisecheverria avatar crysfel avatar d-ivashchuk avatar dependabot[bot] avatar devictoribero avatar drfr0st avatar guin- avatar ignaciodenuevo avatar jaydm avatar kingingcole avatar koolamusic avatar madten avatar marina-mosti avatar mnttnm avatar moaaz-bhnas avatar moshfeu avatar mstruve avatar nickfoden avatar peterberkenbosch avatar praveenscience avatar rachelfranklin1 avatar ramirozap avatar rendez avatar rodrigojuarez avatar rubnvp avatar shadowcodex avatar shayanypn avatar wuilliam321 avatar zmgalante avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

find-a-mentor's Issues

Add Patreon information to the page & README

Is your feature request related to a problem? Please describe.
We need to promote our Patreon account so we can gain funding for hosting our DB.

Describe the solution you'd like
Add a note in the README and a link to the Alpha site (design to follow).

Describe alternatives you've considered
N/A

Add a 'favorites' filter

Is your feature request related to a problem? Please describe.
It would be great to filter the mentors according to you who you have 'favorited' or 'hearted' (as the case is). Some people may want to see which mentors they liked in one frame to make selection easier.

Describe the solution you'd like
Add an additional search field.

Non-unique mentor entries display

Describe the bug
The dashboard of the webapp https://mentors.codingcoach.io/ shows non-unique mentors. I added India as a country in the filter and while going through the data, noticed 2 same entries.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://mentors.codingcoach.io/
  2. Type India as a country in the sidebar
  3. Go through the filtered data and you may notice multiple occurrences of the same person

Expected behavior
Unique nodes should be displayed.

Screenshots

Screenshot from 2019-03-29 13-32-35

Desktop (please complete the following information):

  • OS: Ubuntu
  • Browser: Chrome
  • Version: 72.0.3626.81

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

The Filter drop down

If I click on the drop down? I should be able to go back selecting nothing. This issue affects mobile view though.

Filter/Search for mentor by name

Is your feature request related to a problem? Please describe.
A user cannot currently search for a mentor by name; they must scroll through the entire list.

Describe the solution you'd like
Add an input box to the filter section to search by name.

Describe alternatives you've considered
None that I can think of

Additional context
Nah

HTTPS is set as default

Hi Everyone,

Section channel, type website creates a URL with HTTPS with the domain name provided.

I have a domain which redirects to other domain. Now the problem is because the URL is with HTTPS, the redirect does not occur.

This is not exactly a bug but not a feature as well, hence, added in this section.

I would like to hear others thought on this.

Thank you.

Code of Conduct

Is your feature request related to a problem? Please describe.
This is linked to Coding-Coach/coding-coach#310

We must have a Code of Conduct for all of the Coding Coach repositories and products.

Describe the solution you'd like
Code of Conduct on the home page.

Describe alternatives you've considered
N/A

Container is not working for 1440x360 resolution

Describe the bug
When using the platform at resolution of 1440x360. The container is not working properly. The screen has no margins on the sides and looks kinda ugly as compared to other screen sizes.
To Reproduce
Steps to reproduce the behavior:

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
Screenshot 2019-03-10 at 6 34 21 PM

Desktop (please complete the following information):

  • Device: Macbook Air
  • OS: Mac Mojave
  • Browser Google Chrome

Cookies policy overlaps become a patron button

  • the cookies policy link overlaps the become a patron button in mentors.codingcoach

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'codingcoach.io'
  2. Click on 'Find a mentor'
  3. Look at the bottom of the left panel

Expected behavior
The Become a patron button should be on top of cookies policy not overlapping each other

Screenshots
issueCodeMentor

Desktop (please complete the following information):

  • OS: Linux-Ubuntu
  • Browser: Firefox
  • Version: 66.0.2

Get rid of lists.json

Generate the lists in runtime (small performance impact).
This approach is simplify the process and avoid conflicts.

Update mentor information using the CLI

Is your feature request related to a problem? Please describe.
When do I need to update my information as a mentor how I can manage that?
Is related to this PR #65

Describe the solution you'd like
Using the already awesome CLI created, probably we could select what we need to do in this case Update Mentor Information using His/Her email as an Id.

Describe alternatives you've considered
None

Additional context
Nop

Sidebar navigation overlaps other sidebar content

Describe the bug
On widescreen monitors (e.g. 1274x1850), the content of the Sidebar Navigation overlaps the content above it.
2019-04-26 Coding Coach

Expected behavior
The sidebar navigation content should remain below the Patreon button as it does on other screen sizes.

Desktop (please complete the following information):
This same issue occurs in both Firefox and Chrome.

UI labels needs spacing

Issue

Screenshot

screen shot 2019-02-06 at 12 07 58 pm

I guess UI labels needs some spacing inbetween. If it's okay, I will work on this.

Cheers.

Mentor Reviews

Is your feature request related to a problem? Please describe.
When we're done helping someone through their journey, we always want to know how well we were able to help them solve that problem, sometimes it's almost emotional to see what they write about their experiences with you

Describe the solution you'd like
A place for those who we've shared our time with to drop comments about their experience

Describe alternatives you've considered
Individual mentor page with participant comments

Additional context
Add any other context or screenshots about the feature request here.

Add gh-pages to the project

As discussed we are going to add gh-pages feature and all developers are going to add both their PR and a Test Link(which created by gh-pages on their fork repo)

Clicking mentor's "Website" opens incorrect URL

Describe the bug
Trying to open a mentor candidate's personal website often redirects to an incorrect URL resulting in DNS faillure.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'https://mentors.codingcoach.io/?country=IN'
  2. Click on 'Website' for one of the mentor candidates.
  3. It will open a page of URL https://http//www.<xyz>.com

Expected behavior
Should open https://www.<xyz>.com

Desktop (please complete the following information):

  • OS: Mac OSX 10.12
  • Browser: Chrome
  • Version: v73.0.3683.103 (official build)

Avatar URL Error in CLI tool

Describe the bug
Adding an image url from the .design TLD gave an error during the avatar url step.

To Reproduce
Steps to reproduce the behavior:

  1. yarn run add user
  2. get to step 3: add your avatar url
  3. enter 'https://liferay.design/images/headshots/hanaoka-paul-h.jpg'
  4. See error

Expected behavior
The image url to be added

Additional Information
It might not be the .design domain, but I successfully added a .co image url, so just making a guess that it's a problem w/the TLD.

Update generateMentorId function

Is your feature request related to a problem? Please describe.

const generateMentorId = name => {
return name.replace(/\s/g, '-');
};

I think this can be an issue in future with more mentors coming in and a scenario might come where two mentors have the same name. In that case, we will have multiple duplicate ids for this dom element in the app.

<h1 className="name" id={`${generateMentorId(mentor.name)}-name`}>
{mentor.name}
</h1>

Describe the solution you'd like
Few solutions that I think would be like using the id from the database for mentors directly or create uuid for each mentor like:

function generateMentorId() {
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
    const r = Math.random() * 16 | 0;
    const v = c == 'x' ? r : (r & 0x3 | 0x8);
    return v.toString(16);
  });
}

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Card styling re-design

Update the card styling to the following:
image

If you need assets, please reach out to me directly.

Add number of total mentors to the page

Is your feature request related to a problem? Please describe.
Currently, users can't see how many mentors are available.

Describe the solution you'd like
A total count of mentors on the page.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Format tags

Is your feature request related to a problem? Please describe.
Users might not capitalize the first letter of a tag, or format it correctly and we don't want inconsistent formatting in the UI: i.e. html, HTML, htMl.

Describe the solution you'd like
Format the tags by capitalizing the first letter of each tag (with the exception of acronyms such as HTML, PHP, CSS, which require uppercase).

Describe alternatives you've considered
Hmmm.. don't know.

Additional context
Nah

Come up with and add to README a description of both Mentor and protege expectations

Is your feature request related to a problem? Please describe.
I'm pretty keen to get involved in this as a mentor as I do really enjoy giving back to the community that has given me so much. I'll definitely be putting in a PR soon to add myself to list of mentors. However, as it stands I've scoured the content I can find on Coding Coach and I'm yet to find anything that describes exactly what Coding Coach is trying to do with the whole mentor/protege match making process.

What does it involve? What should both parties set as expectations of what they will get out of the whole thing? I get that this is about connecting mentors with people who want to be mentored but what happens after they're connected?

Describe the solution you'd like
I'd like for there to be an addition to both the mentor's part of the site as well as the landing page where both mentors and proteges can find out what they can expect to have to do and what they can expect out of the mentor based relationship. It might be good to add advice on how to get the whole thing started too, how to make introductions etc.

I think that these expectations should probably be drafted up by the current community (possibly in this issue) and then added to the sites via PR.

Describe alternatives you've considered
I mean, the alternative is that we don't do this and everyone just keeps imagining what the mentor relationship should look like and everyone is going to have a different shaped expectation for this.

Additional context

So some things I can think of off the bat that are questions that would need to be answered from the mentors point of view, I've provided example answers for them too:

  • How much time a week should I be expected to be available for this?
    • As much as much as you're comfortable with, ideally as much as the protege needs but these comfort boundaries will need to be determined with your protege when you are introducing yourself to each other.
  • What sort of things will be expected of me?
    • You will simply be a touch point for the protege. They might need help with soft skills, technical skills, career advice or they might just like to talk to someone who understands all they acronyms that they know! Don't worry, you're only expected to share your experience you won't be responsible for making decisions on behalf of your protege.
  • What do I do if I don't know the answer to something?
    • Hey, you know a lot! Trust us, whatever you have to share is valuable and if you don't immediately know the answer working through the problem with your protege can be a great way for both you to learn.

Some things we could add on the site to explain to the protege what to expect:

  • What a mentor is not there for:

    • To do your assignments for university
    • To be a replacement for your text books, online learning or google
    • To be someone who can be relied on to be available for any tech related thing at any time of day or night
    • To be a decision maker in your career or life
  • What a mentor is here for:

    • To provide technical advice on problems that you're having that you're stuck on
    • To share their experience so to give you something to compare against your own experience to help guide you in your career or through a technical problem you're dealing with
    • To be available when they have the time to talk to you about issues you're working through in relation to coding or career.
    • To help you work through code related problem that you're hopelessly stuck on. They most often won't give you the answer but will rather get you over the immediate hurdle so that you can continue solving the problem yourself.
  • What is expected of you as a protege?

    • To try your earnest best to solve problems you have in the best way you can before asking questions
    • When you do ask questions, ask good questions. This means presenting what you've already tried, providing detail about the solution, sharing code and any other insights you have into the problem. Remember that the mentor is giving up their time to help you so make sure you're spending both of your time as efficiently as possible.
    • When you ask questions LISTEN TO THE ANSWERS and try your best to follow the advice given even if you think it won't lead to the answer you want. Of course you are free to question the solution given but understand that you've asked a question because you're stuck and following the advice given may lead to a new understanding you didn't have before.

There is obviously a lot more I could add here but I'll open the question to the rest of the community now so as not to write the whole thing myself 😛

Display languages mentors can communicate

Is your feature request related to a problem? Please describe.
Coding Coach is a global community, there are people from all over the world and most of us speak more than one language, it would be nice if we include a field to display the languages we speak :)

Describe the solution you'd like
By adding an array of languages to the mentors.json file, we will be able to display those languages in the UI.

Describe alternatives you've considered
Not really an alternative, but we could also add a new filter using languages

Add button to the GH REAME for sign up instructions

Is your feature request related to a problem? Please describe.
I'm getting users emailing the CC email asking how they can sign up.

Describe the solution you'd like
Add a button to the page which says "SIGN UP AS MENTOR" and links to the README

Describe alternatives you've considered
N/A

Additional context

Add nav bar for important links

Is your feature request related to a problem? Please describe.
How can a mentor join the community of mentors

Describe the solution you'd like
A link to signup and submit their profile

Describe alternatives you've considered
A link on the Find a Mentor Page to this Repo at the moment so they know how they can become a part of the mentor community

Additional context
Add any other context or screenshots about the feature request here.

image

Mobile design:
image

Home links to https://mentors.codingcoach.io/
About links to https://codingcoach.io/
How it works links to https://docs.google.com/document/d/1zKCxmIh0Sd4aWLiQncICOGm6uf38S0kJ0xb0qErNFVA/edit?usp=sharing
The last link should read Become a mentor not Mentorship guidelines and links to https://github.com/Coding-Coach/find-a-mentor

Make tags clickable

Screen Shot 2019-03-10 at 13 24 27

When user will clicks on a tag:

  1. The "Language or Technology" dropdown's value will be this tag (css in this example).
  2. The mentors list will filter by this tag.

Change querystring while searching for permalinks

Screen Shot 2019-03-10 at 12 36 23

When user selects Language or Country, the querystring should be changed (w
ithout refresh
) in the following format:

?tech=react

Or

?country=israel

(Or both).

When user gets to the site with these keys, the dropdowns should get their values from the querystring.

If technology, country, or mentor is not found, nothing filters

Is your feature request related to a problem? Please describe.
If a user searches for a technology or mentor that does not exist, nothing filters.

Describe the solution you'd like
If nothing is found it should display the same as when you toggle favorites and nothing is found, in a future version it would be nice to have a link to share the site with someone who would be interested or a link to signup to encourage mentors to signup

Describe alternatives you've considered
NA

Additional context
NA

Add a language autocomplete combobox to the Filter sidebar

Is your feature request related to a problem? Please describe.
Users have no way to filter by spoken language.
Spoken languages will not appear on mentor cards as they can take up too much space.

Describe the solution you'd like
Add a language autocomplete combobox to the Filter sidebar.
image

Additionally, change the "Language or technology" label to just read "Technology". This will be removed and placed above the mentors cards in the new design, but for now let's update the label to avoid confusion.

Clicking on favourite icon jumps to top of the page

Describe the bug
When I find a mentor down the page and click on the heart icon, the window jumps to the top of the page

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'https://mentors.codingcoach.io/?language=reactjs'
  2. Scroll down (at least 1vh)
  3. Click on the heart icon
  4. Page jumps back to the top of the page

Expected behavior
The window should stay where it is.

Screenshots

Demo

https://cl.ly/4e279fcf2987/Screen%20Recording%202019-04-19%20at%2009.28%20am.gif

Desktop (please complete the following information):

  • OS: MacOS Mojave (v10.14.3)
  • Browser: Chrome
  • Version: 73.0.3683.103

Additional context
It may be related to the page width (when you get 5 items per line onwards). On a smaller breakpoint (4 items per line tested) the issue didn't seem to happen.

Add a "capacity to take on new mentees" indicator on the mentors cards

Is your feature request related to a problem? Please describe.
It would be good both more mentors and mentee's if, when searching for a mentor, a mentee could determine what capacity the mentor has for taking on new mentees. The mentor might be in a situation where they have too many mentees to allow them to be effective for all of them in the time the mentor has available to help. In this situation a mentor would have to turn down a mentee which feels bad for everyone.

Describe the solution you'd like
I'd like to suggest that we include some sort of indication of the capacity the mentor has on the cards for the mentors on the find a mentor website. This could follow some sort of traffic light system where by Red would mean unavailable to take new mentees, Amber would mean that the mentor might be available for quick questions but doesn't have the space to take on new mentees full time and Green would mean available.

Solution

Designs coming

Slack invite link on homepage is invalid

Describe the bug
Clicking on the Slack invite link on the homepage lands on the "this invite link is not valid anymore" page on Slack.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://mentors.codingcoach.io/
  2. Click on the slack logo in the top right
  3. See error

Expected behavior
Be able to join the Slack channel through a valid invite link.

Screenshots

Screenshot 2019-03-21 at 08 29 13

Image optimization

Is your feature request related to a problem? Please describe.
I was looking at the audit tab in chrome console w/ "Simulated Fast 3G, 4x CPU Slowdown" option and found some issues related to images:

Mentors Coding Coach

Describe the solution you'd like
I think we can create some gulp tasks to resize large images to the required profile image size of 108x108 px and also we can convert the image format to webp for further optimization. I think we can use sharp or gulp-responsive for this purpose. Just wanted to let you know about this. Keep up the good work.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Implementation of filters

Is your feature request related to a problem? Please describe.
In terms of a ux improvement it might make sense to implement some tag overview that you can also interact with.

Describe the solution you'd like
image

Acceptance Criteria

  • If no skills are found, display the following message: "Whoops! Looks like we don't have a mentor with these filters. Check back soon!"
  • If a user types in a language or technology and clicks Enter, it will add it to the list below.
  • If a user types in a language or technology and clicks the Add Filter button, it will add it to the list below.
  • If a user types in a language or technology the drop down should auto-complete.
  • If a user types in a language or technology and clicks an auto-complete label, it should add to the list below.

Keep filter section sticky

Is your feature request related to a problem? Please describe.
If the user scrolls down, the filter doesn't stick.

Describe the solution you'd like
Set the filter sidebar to fixed.

Describe alternatives you've considered
Hmm not sure

Additional context
Add any other context or screenshots about the feature request here.

Multiple choises filter

Is your feature request related to a problem? Please describe.
In terms of a ux improvement it might make sense to implement some tag overview that you can also interact with.

Describe the solution you'd like
image

Acceptance Criteria

  • If no skills are found, display the following message: "Whoops! Looks like we don't have a mentor with these filters. Check back soon!"
  • If a user types in a technology and clicks Enter, it will add it to the list below.
  • If a user types in a language or technology and clicks the Add Filter button, it will add it to the list below.
  • If a user types in a technology the drop down should auto-complete.
  • If a user types in a technology and clicks an auto-complete label, it should add to the list below.

Copied from #80

A suggestion: https://github.com/jedwatson/react-select.

image

Modals extend past the fold

Describe the bug
When a user clicks one of the sidebar navigation (i.e. Cookies or Privacy Policy), the modal appears but extends below the screen. The users must scroll the main page to view the full modal.
image

Expected behavior
The modal should appear completely within the view port and have an internal scrollbar. The user shouldn't be able to scroll the main content area.

Create an interactive process to add mentor

In order to make the process easier, adding a mentor could be done with interactive CLI (command line interface) process. It can be done with prompts for example.

The process should:

  1. Collect all the fields by the schema and validate the inputs.
    2. Run yarn run sync-lists. #56
  2. git add . and git commit -m "add {mentor's name} as mentor"

So the user only need to git push.

To start the wizard, the user will run yarn run add-user (add a scripts in package.json).

The start of the process similar to:

Screen Shot 2019-03-11 at 14 36 11

Screen Shot 2019-03-11 at 14 37 03

README.md should update accordingly.

Correct path of mentors.json in README.md

Describe the bug
Right now we need to go through multiple folders to find out where mentors.json is present

Expected behavior
We should update path of file in README.md from mentors.json to `src/mentors.json' so that it is easy to locate the file

Make location icon click filter like language tags do

Is your feature request related to a problem? Please describe.
When using the mentor search I tried to click on the location icon next to the profile pictures. Since a click on a tag selects it as filter, it would be nice to have this functionality for the location as well.

Describe the solution you'd like
A click on for example 📍DE should filter the mentors list by location Germany and add a query param to the url ?country=DE.

Describe alternatives you've considered
It is already possible to filter with the select. This would add a nice way to do the same which isn't that complicated.

I'm happy to implement this feature myself if it's something you want.

Great project and I'm happy to contribute.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.