Our team was recruited to create a job board hosting service targeted at job seekers who are just entering the workforce, making a career change, or looking to find a second job.
Features | User Authentication | Google Services | Job Posting | Resume Parser | Profile | Installation | Contributors
This section provides a broad overview of just a few of the exciting functionalities our team implemented for the GreenHorn web platform.
- User authentication:
New end-users are required to create a user account with log-in details. Upon opening the app, the user will be prompted to provide their log-in details if not already logged in, and/or create a new user account. Based on their account type on file, user will be prompt to either the job-seeker view or recruiter view.
- Google services
The user will be prompt to enable their location service so that the web app will filter job postings from the pool based on default filters and their current location while using the app. In addition, google calender is incoporated into both the jb seeker and recruiter view, allowing both users to view their calender and keep informed of upcoming events. In the recruiter's view, for a specific job posting, if there is candidate that the recruiter wants to give an interview, recruiter has access to schedule an event which will send a calender invite to the job seeker's email on file and also add the event to the recruiter's account.
- Feed/Job Posting
Depending on user's account type, they will either be supplied with job postings based on default filters tailered to the job seeker or current active job postings under recruiter's account. On the recruiter's view, recruiter has the option of posting a new job through a modal, allowing a recruiter to provide all kind's of job related info.
- Resume upload & Resume Parser
When a user signs up as a jobseeker, they are prompted to upload a resume, which will be stored to Amazon S3 service. While navigating the job feeds, a jobseeker has the option to upload a cover letter and apply for a job. When jobseeker sends an application, their resume is being parsed on the backend and searched for keywords requested by the recruiter who posted the job.
- Profile
Both jobseeker and recruiter have access to their profile page, which is prepopulated with the user's profile info and allows the user to update their first name, last name, location, resume, company, etc.
In order to utilize the Google "Geocoding API" you must do the following:
- Create New Project At Google Cloud
- Create an API Key
- Have to add billing to attached Google account
- Enable "Geocoding API"
useLocation function utilizes Reacts built in Navigator function and does require any additional libraries.
Note: I have set up the userLocation.jsx file to format the lat/long returns to the same shape that we see from the Google API so they can be used interchangeably to get user location.
geos : {
lat: /* User Latitude xx.xxxx */,
lng: /* User Longitute xx.xxxx */
};
Google Client ID and API Key will be required to utilize this application. Got to the link below to set up credentials and then add them to the calaned)event.jsx file
https://developers.google.com/workspace/guides/create-credentials
The calendar_event.jsx operation is not dependent on firebase authentication. Users will be prompted to sign into their Google accounts once they click on the Submit button within the interviewInvite modal. Did not have time to implement server side Google implementation which would be the better approach.
Getting your own copy of Project GreenHorn is easy!
- Fork and clone this repo to your local machine
- Run npm install to install dependencies
- Read about the following scripts to understand their functionality
- Enjoy!
The following scripts can be found in package.json
npm run start
Bundles your webpack in development mode
npm run build
Bundles your webpack in production mode
npm run server
Launches nodemon to watch the server path and serve static files
Xiaqing X. | xuxiaqing2011 |
Sam I. | sbirvin1s |
Nicholas K. | kemp3673 |
Jean K. | jeankayy |
Andrew W. | andronicus217 |
Reave H. | rhosmans |
Shirley N. | shnguyen8 |