Giter VIP home page Giter VIP logo

ztm-job-board's Introduction

ZtM-Job-Board   Build Project

A place for developers from the Zero To Mastery Community to show recruiters that they are available for hire. Feel free to contribute and improve this in any way you see fit.

Link to the webpage: ZtM JOB Board.

How to run the project in your local machine

  • git clone https://github.com/zero-to-mastery/ZtM-Job-Board.git

  • cd ZtM-Job-Board

  • npm ci

  • npm start

How to add your name to the list

Note: You will first need to make a fork of the project!

fork image

If you are unclear on how the GitHub workflow works, you can check the Make a Pull Request guide.


To add your name to the list, create a file <YOUR_GH_USERNAME>.json inside Submissions/ folder, and then fill it up with following content.
⚠️ Please remove the @ from your GitHub username.
(Don't include the square brackets "[ ]" or angle brackets "< >" !!! They are just there to indicate an example placeholder.)

{
  "name": "[YOUR_FULL_NAME]",
  "img": "[YOUR_IMG_URL]",
  "email": "[YOUR_EMAIL_ADDRESS]",
  "links": {
    "website": "[YOUR_WEBSITE_URL]",
    "linkedin": "https://www.linkedin.com/in/<YOUR_LINKEDIN_USERNAME>",
    "github": "https://github.com/<YOUR_GH_USERNAME>"
  },
  "jobTitle": "[YOUR_TITLE]",
  "location": {
    "city": "[YOUR_CITY]",
    "state": "[YOUR_STATE_OR_PROVINCE]",
    "country": "[YOUR_COUNTRY]"
  }
}

Please note!

  • Profile pictures and/or images* are allowed.
  • If you do not want to fill some of the fields, leave them blank (e.g. state: "",).
  • Your pull request will only be accepted if it follows the example above. It cannot have anything else.

Please submit a Pull Request to be added to this list. If you are unsure how to do this, please check out Contributing To Open Source video in the course curriculum.

  • How to add profile image to your ZTM JobBoard profile using Github avatars.
  1. Go to your profile on GitHub.com
  2. Append to your GitHub profile url “.png”, so it will look like this:

https://github.com/aneta-s.png

  1. Hit enter and the browser will generate a page with your image, it look like this: https://avatars2.githubusercontent.com/u/54153719?v=4

  2. Copy url of this page and paste it in Submissions/<YOUR_GH_USERNAME>.json file

Resources

All icons have been sourced from Material Design Icons and Octicons

ztm-job-board's People

Contributors

3htsham avatar abdus avatar abhishekakade avatar aneagoie avatar chancethehacker avatar dependabot[bot] avatar dhaval1403 avatar donmarvex avatar ekidoxx avatar isaaczhou avatar isamelb avatar junaaid96 avatar kitravee avatar krittiyaclark avatar l-white avatar macrichie avatar mattcsmith avatar mmostagirbhuiyan avatar notankur avatar pratyakash avatar prosperousheart avatar s-mcnair avatar samirjouni avatar shubhamai avatar sohostory avatar sophiabrandt avatar stefanselftaught avatar thomas-lysens avatar thomasdreyer avatar timlamoureux 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ztm-job-board's Issues

Reformat robots.js

If PR #90 is accepted, the robots.js file should be reformatted with the new data structure proposed. There are 57 entries and it would be a great opportunity to practice text-editor macros.

Netlify link

Hi guys,

Noticed that the Job board deployed on Netlify is not in sync with this one, can you fix that? Would be great!
Thanks!

cant push

I'm getting an error when trying to push bransh
remote: permission to zero-to-mastery/ztm-job-board.git denied to YoucefBnm
error: 403

[bug] map only shows UK

Map only shows a marker on the UK and displays "58 developers...". You cannot drag the marker.

Probably related to last update of dependencies.

Create a filter method

Investigate and implement filters to find candidates by country, location, technologies etc

Performance, UI and accessibility issues

  • Off screen images need to be deferred and lazy loaded. This is affecting the performance a lot, especially on slower networks.
  • Unnecessary fetching and rendering of users & images on window resize. UseEffect can be replaced by CSS.
  • Render blocking Google fonts and leaflet.css.
  • Long overflowing text goes out of card containers.
  • Searchbox does not have label for screen readers.

Double scrollbar

Currently there are two scroll bars showing, one for the whole page and one for the scroll component where all the cards are being rendered.
While Mac does a pretty good job at hiding it, it's not very good looking on Windows.

I might put the title and search into a header component and have it fixed top. Then scrap the scroll component container.

Lazy load Map component to improve performance

Map component can be lazy loaded with code splitting to -

  • reduce initial page load time
  • reduce JavaScript file size on initial page load
  • improve performance

Currently there is only one big chunk file that contains all the components but since Map component is not rendered on initial page load, it can be made into a separate chunk file that is loaded and rendered only when the user clicks on Map.

Can't add myself to the list

I can't add myself to the Job Board list. I get and error CI failure when I pull a request. Can somebody explain how? Thanks.

Map causing performance issues

  • A lot of API calls (~700) since fetch request is being sent for each user instead of each country.

  • Also these fetch requests should be made inside useEffect as they are happening even on loading homepage and not map component.

[suggestion] I think we should incorporate a registration page

So, following the first implementation of issue #310 , I noticed a lot of #things.

  1. Some developers do not correctly spell their location
  2. Some developers add extra details to their location name e.g (willing to relocate)
  3. Huge use of inappropriate abbreviations
  4. The API used to get latitude and longitude doesn't recognize England to be a country(wink), but somewhere in the UK.

Now all this makes extracting location details from the person.js object very difficult, a registration page with a backend server will solve this issue and make the site more cool, plus more developers will be rendered on the map What do you guys think?

Deprecated Website

My name is Jacinto Wong and I just added my info last week. My website link appears as 'deprecated_website' even though the link and website work. I guess it could be because it is a .design instead of a .com

Create a new input method

Check if it's possible to build a form to register people data, maybe save information as a .json file inside the repository. This will avoid discrepancy between data formats and allow employers to navigate better through candidates

[Suggestion] An optional remote job availability check in persons.json

Problem

A lot of people have been adding (Remote/Available anywhere for remote jobs, etc) to their country value in persons.json instead of just the country name.

Effects

This is causing country location fetches and map to fail as we are using the same country value in the restcountries API to add a marker on Google maps. And the country name value needs to be very accurate for the fetch request to succeed.

Solution

We should add a new optional key remote to every id to see if developers are interested in remote jobs with value as true/false. And then if the user has remote value, we can add it to their card on the job board.

Production update instructions

Note that any changes to the source will not reflect onto the live page (https://zero-to-mastery.github.io/ZtM-Job-Board) immediately.

The live page is a production build living inside the gh-pages branch.
In order to update this

  1. Open package.json and change "homepage": "https://[YOURGITHUBUSERNAME].github.io/ZtM-Job-Board"
  2. From the terminal type npm run deploy, this will push the production build to your forked repository
  3. Submit a PR for the branch

Not sure if there's a better way of doing this, if so please educate me.
And since this is not project specific, not sure if this should go into readme, just going to leave it here for now.

As the list grows, maybe could be a good idea to random how the list is displayed

Suggestion
I have a suggestion to change a static list to a more dynamic list with random position in every new load. This way, the last added programmers (including the current first static programmers) can have the opportunity to be displayed in the first columns when a new recruiter scroll down the page.

I have created a function from another project of mine to get an array with random indices to iterate through a group of fellow programmers from another community (it was a JS hall of fame). With this following function I made sure to display random order in every new load in the page.

function getRandomArray(arrLength) {
    arrLength--;
    var newRandomArray = [];

    var ind = 0;
    for (; ind <= arrLength; ind++) {
        newRandomArray.push(ind);
    }

    newRandomArray.sort(function(a, b) {
        return 0.5 - Math.random();
    });

    return newRandomArray;
}

Pushed my name in person.json

Hello,
I pushed my name on person.json a while ago and it dosen't show up on page:
It something wrong with the code? Thank you.
{
"id": 1006,
"name": "Rares Sandu",
"img": "https://avatars3.githubusercontent.com/u/59281487?s=400&u=ed6e2f43fffde34964b8ae73a3fdaacd1d7516f7&v=4",
"links": {
"website": "https://raressanduconstantin.github.io/modern_portfolio/index.html",
"linkedin": "https://www.linkedin.com/in/rares-sandu/",
"github": "https://github.com/RaresSanduConstantin"
},
"jobTitle": "Front-end web development",
"location": {
"city": "Bucharest",
"state": "",
"country": "Romania"
}

renaming numberPerPage to numberPerBatch in App.js

element in App.js doesn’t have property numberPerBatch,
So it cannot pass property down to BatchCards
Instead it has property numberPerPage which is not used at all.
It has sense to rename numberPerPage to numberPerBatch in App.js

[BUG] The filter method

As developers we tend to use full stack, full-stack and fullstack in our profiles. Nothing bad with that, but can we add regex to fix the search and find all the fullstack developers?

Same for frontend, etc.

I will try to get into it and make a pull request.

Having issues posting to profile

I am trying to post update and it is saying that I do not have access. I tried posting with new branch.

$ git push origin robrichardsdpt-update
ERROR: Permission to zero-to-mastery/ZtM-Job-Board.git denied to robrichardsdpt.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Changes to src/Assets/persons.json are still being committed

Description

Although, the src/Assets/persons.json file is listed in the .gitignore file, local changes made to the file by running npm start are still being committed which results in thousands of additions/deletions which we cannot review immediately.

I believe that somewhere along the line during the lifespan of this project, these changes were being committed. Adding it to the .gitignore file however doesn't stop these changes from being tracked.

Possible Resolutions?

  • Require contributors to not commit these changes after running npm start by using git add Submissions/Submission file.
  • Only require contributors to add their submission files and NOT run npm start locally.
  • If there's a way to ensure changes to the ../persons.json file are not committed as it is included in .gitignore.
  • Any other viable solution.

Effect

  • Having this resolved will prevent maintainers from requesting contributors to rollback committed changes to the file.
  • Avoid repetition of the step above across multiple contributions.

Please check this out @sophiabrandt @MattCSmith

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.