Commit 4cf26d9
merge to prod for deployment (#171)
* added Kashish Mittal to README.md (#94)
Co-authored-by: root <root@LAPTOP-9VOLP0N6>
* TCE-15(doc): Added my name (William Lam) under the 'Contributors (2024-2025) list. author: William Lam<williamnhut.lam@mail.utoronto.ca> (#95)
* Update README.md (#97)
* chore: added my name to contributors readme (#98)
* Added name to contributors (#99)
* Update README.md (#101)
* complete adding my name (Dhairya Thakkar) to Contributors 24-25 (#102)
* Update .env.example (#103)
* add names to readme! (#104)
added mine and Olya's name to the readme (since I don't think we told her to)
* Add files/folders for job posts and job applications CRUD (#105)
* add files/folders for job posts and job applications CRUD
Signed-off-by: root <root@LAPTOP-9VOLP0N6>
* add job_post and job_applications folders in controllers
Signed-off-by: root <root@LAPTOP-9VOLP0N6>
* Rename DeleteJobPost.js to deleteJobPost.js
renamed file for camel case conventions!
* Rename UpdateJobPost.js to updateJobPost.js
renamed file for camel case conventions!
---------
Signed-off-by: root <root@LAPTOP-9VOLP0N6>
Co-authored-by: root <root@LAPTOP-9VOLP0N6>
Co-authored-by: Mieko <37809278+miekoyao@users.noreply.github.com>
* Add functions to interact with S3 (#108)
* Add functions to interact with S3
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* fix lint errors
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* [TCES-19] Create JobPosting Model (#109)
* feat: create JobPosting model
* chore: run formatter
* update soe fields to allow NULLs
Signed-off-by: root <root@LAPTOP-9VOLP0N6>
* fix prettier issues
* update rate_of_pay formatting
---------
Signed-off-by: root <root@LAPTOP-9VOLP0N6>
Co-authored-by: root <root@LAPTOP-9VOLP0N6>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
* [TCES-21] Create JobApplication Model (#110)
* feat: create JobApplication Model
* add status_other field
Signed-off-by: Kashish Mittal <m04kashish@gmail.com>
* update status_in_canada formatting
---------
Signed-off-by: Kashish Mittal <m04kashish@gmail.com>
Co-authored-by: root <root@LAPTOP-9VOLP0N6>
* [TCES-51] - Fixing compatibility issues with MySQL in the Job Post model file (#117)
* fix: fixed compatibility errors with Job Posting
* chore: ran linter and formatter
* chore: removed unnecessary comments in index.js and sequelize.js
* fix: fixed ENUM incapatibilities with MySQL by changing the ENUM type 'Base_Comission' to 'Base Comission' in the Job Posts Model and 'R & I' to 'R and I' in the Job Applications Model.
* test: testing valid and invalid ENUM types for the job_type attribute in the Job Posts Model.
* chore: run linter and formatter
* test: updated test to match CI/CD pipeline
* test: remove need for CI/CD pipeline for test file
* fix: reverted wrong file change and added new ci/cd tests for job posts.
* test: removed ci/cd test for now since controller/routes aren't implemented yet
* chore: removed MySQL incapatibilities comment
* Update server/src/models/job_posts.model.js
* add more valid job types
* add comma for linting
---------
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
Co-authored-by: Mieko <37809278+miekoyao@users.noreply.github.com>
* update job_posts_model to include description (#123)
* update job_posts_model to include description
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* fix linter issues
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* remove yarn.lock files (#124)
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* remove applied_date from job applications model (#127)
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* remove description field (#128)
Signed-off-by: root <root@LAPTOP-9VOLP0N6>
Co-authored-by: root <root@LAPTOP-9VOLP0N6>
* [TCES-27]: GET Request for Job Applications (#119)
* feat: rough implementation of getAllJobApplications GET request. Returns mainly three things: the total number of job applications, all job applications saved in the database, and the unique names of all job applicants.
* refactor: added try catch statement for getAllJobApplications GET request
* feat: added functionality to get all job applications for a job post in getAllJobApplications.js if a job posting id is given.
* feat: implemented getOneJobApplication.js to filter through job applications through an applicant's name
* feat: added routing logic and connected it to index.js
* fix: fixed compatibility errors with Job Posting
* chore: ran linter and formatter
* chore: run linter and formatter
* feat: updated job_posts_model.js file
* chore: removed unnecessary comments
* feat: added api calls to api.js in the frontend
* fix: applications are returned in most recent to least recent order
* fix: trying to include createdAt field into the response body
* feat: added frontend API calls to job application get requests
* chore: deleted get application functions from api.js
* [TCES-25]: POST request for Job Applications (#118)
* feat: initialized skeleton code for implementation of POST request for Job Applications author: William Lam<williamnhut.lam@mail.utoronto.ca>
* chore: added 'RequestHandler' to the end of the addJobRequestHandler function for the adding job application controller for consistency author: William Lam<williamnhut.lam@mail.utoronto.ca>
* implemented rough draft for adding job applications author: William Lam<williamnhut.lam@mail.utoronto.ca>
* feat: implemented POST functionality for job applications and router logic for POST requests author: William Lam<williamnhut.lam@mail.utoronto.ca>
* test: tested creation of job application and was successfully (POST REQUEST)
* chore: ran linter and formatter
* feat: added file upload with uploadFileToS3 function for POST requests for Job Applications
* feat: implemented file upload functionality with multer for post requests for Job Applications.
* feat: implemented file upload for POST requests for Job Applications.
* feat: client calls API endpoint for creating Job Applications
* feat: updated job_posts_model.js file
* feat: presignedURL for resume PDF upload is now attached to the correct user
* chore: run formatter and linter
* chore: removed placeholder code for getAllJobAppications.js
* chore: added isAdmin middleware back to createUserRequestHandler
* bug: fixed R & I to R and I for correct Application status for the Job Application model
* fix: moved API calls for Job Application POST requests to job_applications_api.js in the client/src/utils directory
* chore: removed comments in server/src/index.js
* fix: resume attribute includes the filename now instead of the presigned URL
* chore: added uploadJobApplication to job_applications_api/js in client/src/utils
* chore: removed unused import in addJobApplication.js
* refactor: removed description attribute in job_posts.model.js
* fix: removed export default statement in job_applications_api.js
* feat: added router code for Job Application POST request
* feat: added check that if status_in_canada is other, then a status_other attribute needs to be given.
* [TCES-47][READY-FOR-REVIEW]: Implement DELETE request for Job Postings (#126)
* chore: added skeleton structure for DELETE HTTP requests for Job Posts
* feat: implemented logic for deleting a Job Post
* feat: implemented routing for DELETE HTTP request for Job Posts
* feat: configured routing in index.js file
* fix: changed URL from 'job_posts' to 'job_postings' to fit table name
* feat: implemented API call from the frontend for DELETE HTTP request for Job Posts
* feat: resumes are deleted along with Job Applications of related Job Post
* refactor: changed job_posts.js in routes folder to match employer_timeline_entries.js format
* fix: added await for async objects to resolve promise objects and added transaction commits and rollbacks for atomicity
* fix: resolved promise object for deleting S3 files when using array.map
* refactor: removed sequelize import
* feat: deleted fully works now
* feat: delete works now for Job Posts
* [TCES-24][READY-FOR-REVIEW]: Implement POST request for Job Postings (#125)
* chore: added skeleton code for Job Post POST request.
* chore: provided logic of code implementation for Job Posts POST requests before implementation.
* chore: added additional comments on beforeUpdate hook with the status attribute in Job Posts
* fix: export addJobPostRequestHandler in addJobPost.js
* feat: implemented job posts POST request logic.
* feat: added validation for Job Post POST requests to check that the max compensation is greater than the min compensation, that the close date is always greater than the current date
* fix: state would be set to 'Active' after the job post is created.
* fix: state is now correctly set depending on if the job post is a draft or not
* feat: implemented routing for job posts POST request
* feat: added API call on the frontend in src/utils/job_posts_api.js to call POST HTTP request to create a new job posting
* fix: Job posts is attached to req.user.id now
* fix: added isAdmin middleware back to the createUser route
* feat: changed URL from 'job_posts' to 'job_postings' to fit Table name
* fix: corrected the URL in the API call to create a Job Post in client/src/utils/job_posts_api.js
* cleanup: removed check for employee in the database for adding a job post.
* feat: added isLoggedIn middleware to route and changed format of job_posts.js in the server/src/routes directory to match previous routing files.
* chore: fix merge conflicts
* Update readme (#130)
Added my name
* [TCES-44] Updated Navbar and Dashboard to include Job Postings and Job Applications buttons (#120)
* Feat: Added Job Postings and Job Applications Buttons to Dashboard
* Feat: Added the Job Applications and Job Postings Buttons to Navbar
* Chore: Ran linter and formatter
* fixup!
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
* [TCES-56][READY-FOR-REVIEW]: Create Custom Job Type Chips (#129)
* chore: initialized files/directory for job-type-chips-component
* feat: implemented job type chips
* feat: changed the colour for 'Freelance' to make the pink a bit darker to differentiate it from the 'Full-Time' job type.
* refactor: removed unused import
* feat: changed job type to better match given job type image
* feat: updated colours and border colours of job type chips based on given image
* feat: decreased height of job type chips to better match image.
* feat: changed font type to 'Roboto'
* refactor: moved job-types-chip-component into a 'view-job-posts-component' directory.
* TCES-26: CRUD for Job Posts - Get Requests (#116)
* Starter logic for get path for job posts
* Starter logic for get path for job posts - all job posts
* Removed job type filter
* rename to singular
* added sample endpoint calls
* Added endpoint to route
* fix lint issues
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* fixup!
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* Add location and job_type to searchConfig attributes
* Update server/src/controllers/job_posts/getAllJobPosts.js
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
* TCES-28: CRUD for Job Posts - PUT Request (#121)
* Added skeleton logic for update - missing check for update status
* Added check that all fields are not null when updating status to active
* Cleaned comments/code
* Starter documentation
* Cleaned comments
* Added call to endpoint
* Updated typo
* fix: updating job posts works now.
* chore: run formatter
* fixup!
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: William Nhut Lam <williamntlam@gmail.com>
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
* TCES-43: Create Add New Job Post Page (#122)
* copied files from add-job-lead as template for new job post page
* chore: added new job-post route
* modified job title, employer name, location, and compensation fields in posting form. modified corresponding job post initial state types
* added new compoensation rate type constant
* got all values and inputs to look the same as design
* moved job info form to own folder and created component for next page
* creating form page for application fields
* got application form fields to look mostly the same, created back and forward functionality with buttons
* removed some unnecessary code (used for job lead, but not job post) and refactored format of jobpost data
* added input change functionality, which updates jobInfo state
* temp values to test in form, got values to be stored in jobPostData state
* compensation and hours are number types now
* renamed addJobLead to addJobPosting
* making buttons more similar to figma
* created new dialog componnet for displaying save/publish result, added temp values into the form
* created new dialog component for displaying save/publish result
* completed application fields page, with new module style sheet
* removed unnecessary props
* removed unnecessary props
* added console logs just to remove unsued errors
* moved Discard dialog to outside of form, refactored to make submission buttons handle submission
* added correct initial state values, removed unused props
* fixed linter bugs
* fixed values/labels for compensationRate select
* removed setLocalExitRoute
* made button container wrap
* removed setLocalExitRoute from props
* fix linter issue
* add space in upload section
* fix linter issue
* added comments for clarity, removed unnecessary comments
* renamed job-post/add link to job-posts
* redirect to dashboard on job post cancel
* put authguard back in job post page route
* changed jobPostData prop type to object in index.jsx
* modified upload text to pdf only
* renamed all components with 'lead' in them to 'post'
* Update client/src/utils/contants.js
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
* removed cover letter section
* creation date now disabled and only for today's date
* renamed label to description in first page of form
* fixed constants.js name
* Update client/src/utils/contants.js
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
* fixed linter isue, updated job_types list
* renamed the contants to constants file everywhere
* replaced employment type to be multiselect
* renamed additionalInfo to Description
* centered the form pages
* deleted contants (replaced with constants.js)
* modified initialState keys to match job post model
* all variables in job info form correspond to renamed jobPostData keys
* Renamed base & commission to Base and Commission
* prevent user from entering max compensation less than min
* use separate variables for Job Posts constants
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
* add name to readme (#131)
* add contributor name (Houman Ebrahimi) (#133)
Co-authored-by: John Doe <johndoe@email.com>
* Update README.md (#134)
* [TCES-65][MERGED] Separate Get Job Postings Endpoint into Two Distinct Endpoints for Public and Protected Job Postings (#132)
* feat: implemented getAllActiveJobPosts.js logic and added corresponding route to the job_posts.js routes file.
* refactor: changed function name to 'getAllActiveJobPostsRequestHandler' for clarity
* fix: put static route over dynamic route with /active and /:job_post_id to fix endpoint matching
* feat: added unit test files for getting active job posts and getting all job posts
* fix: added login middleware only for getting all job posts
* feat: implemented unit testing for getting all job postings
* test: added one more unit test testing just normally getting all job posts
* tests: added unit testing for getAllActiveJobPosts
* chore: run formatter
* test: removed redundant test case
* fix: fixed possible division by 0 error for totalPages computation and the getAllJobPosts route returns all the job posts now without it being separated
* test: changed tests to match new getAllJobPosts controller now that it doesn't return a separate publicJobs key value item
* Houmanebrahimi67/tces 69 create a table component for all job postings view (#139)
* add contributor name (Houman Ebrahimi)
* Add table component
* fix server packaging files
* fix space
* fix packaging
* Add table component
* fix server packaging files
* fix space
* fix packaging
* test
* change chip color
* change colors
* change
* server change
* change color
* upadte css and bold text
* increase column width for icons
* make the width wider
* get rid of horizontal scrolling
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* get rid of vertical scrolling
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: John Doe <johndoe@email.com>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
* [TCES-59 Create a component with the Job Type, Location and Sort buttons (#140)
* job type, location, status, and sort buttons that open dropdown of radio buttons with different options
* pass the locations as a prop
* Fix some issues with job_posts_api.js (#144)
* fix some issues with job_posts_api.js
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* fix modifyJobPost function
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* [TCES-30] CRUD For Job Applications Put Requests (#141)
* completed bulk of application status put request
* mostly finished controller, added post route
* modified error codes, created job application call
* refactored to use request params instead of passing id to body
* added a few lines of docs for job app status change handler
* changed job app not found code back to 404
* added login middleware
* Add sort and filter menu (#143)
* Add sort and filter menu
* fix padding for the table and add string to employer
---------
Co-authored-by: John Doe <johndoe@email.com>
* [TCES-68] Create Job Posts Page: Replace mock data with backend endpoints (#137)
* Task completed
- Save as Draft and Publish buttons now call backend and not mockresponse
- Buttons now redirect to job posts page and not dashboard
- Made route names more consistent
* Updated Job Posting
- description field is now properly updated when publish button is pushed
* Published job posts now marked as active, and not drafts
* Job post creations accurately reflect draft or active
* Removed unnecessary log
* fix job_type and close_date field updates
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
* change /job-posts/add to /job-postings/add (#147)
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* [TCES-80][READY-FOR-REVIEW] Create Unit Tests for Job Applications and Job Posts (#142)
* chore: created test files for job applications and job posts endpoints
* test: implemented addJobPost.test.js and fixed file path changes in testing for getting job posts.
* test: 3/4 tests work for deleting a job post; need to somehow include a test where deleting a job post will also delete the job applications associated with it
* test: deleteJobPost.test.js works now. The caveat is that it uses a mock s3 deletion function
* test: implemented tests for getOneJobPost with getOneJobPost.test.js
* test: implemented tests for updateJobPost.js
* test: fixed addJobPost.test.js by adding a create function to the associated mock file
* test: addJobApplications.test.js is now implemented. There is a caveat where the S3 upload is not tested though
* test: implemented getAllJobApplications.test.js
* test: implemented getOneJobApplications.test.js
* delete: removed tests for updating job apps since it is not implemented yet
* test: added temporary upload folder for resume upload and made the unit testing create the mock file for testing addJobApplications
* chore: run formatter
* chore: added 'uploads' folder for testing
* Lanawehbeh12/tces 58 create a table component for job postings client view 1 (#146)
* Added Client Dashboard Table
* Added Urls for Table
* ran formatter
* Update client/src/components/job-postings-client-dashboard-component/job-postings-client-dashboard-table/index.jsx
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
* Update client/src/components/job-postings-client-dashboard-component/job-postings-client-dashboard-table/index.jsx
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
* Update client/src/components/job-postings-client-dashboard-component/job-postings-client-dashboard-table/index.jsx
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
* Updated row key to data id
* minor fixup!
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
* [TCES-49] Filtering & Sorting for Job Posts (#145)
* get requests for filtering and sorting job posts
* get requests for filtering and sorting job posts
* combine sorting and filtering into one endpoint. apply this and location retrieval to only active job posts. add endpoint to retrieve sorted job posts by close date and/or filter them by their status
* combine sorting and filtering into one endpoint. apply this and location retrieval to only active job posts. add endpoint to retrieve sorted job posts by close date and/or filter them by their status
* fix getAllLocations endpoint + some misc fixes
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* fixup!
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* fix job_type filtering and pagination
* rename the filtering endpoints, reorgnaise job_post routes and fix minor issue in updateJobPosts
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* update client utils
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* fix unit tests
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* fix unit tests
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* update tests for updateJobPost
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
* fix job_posts_api.js (#149)
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* [TCES-48]: add endpoint to download resume (#136)
* feat: add endpoint to download resume
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* Fixed query
* Job Application Endpoints
Endpoints can now:
- get all job applications
- get job application by id
* Detect React to no trigger linter
* Previous changes were not needed
* Added isLoggedIn middleware
* Removed log
* For the linter
* Removed unnecessary spaces
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Jamie Yi <90401652+penguinc00kies@users.noreply.github.com>
Co-authored-by: penguinc00kies <jamiesumin@gmail.com>
* All Job Posts View: Replace mock data with backend endpoints (#148)
* All Job Posts View: Replace mock data with backend endpoints
* change function name
* add pagination
* edit job postings
* fix query parameters for endpoints
* fix page and pageSize parameters
* fix filter sort
* fix delete endpoint
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* fix dialog for deleting job posts
* clean up!
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* fix error logs
* clear error logs
* fix error logs
* fix error handling issues
* Add a button to reset all applied filters
* fix the reset button width and font
* fixup!
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* disable and enable reset all button
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: John Doe <johndoe@email.com>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
* Lanawehbeh12/tces 70 implement the job postings client view page (#150)
* Updated routing to home page
* Created header for client dashboard page
* Created client dashboard page
* add a NavBar for Public Pages
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* added public navbar + updated route name
* Updated component name to align with file name + repo standard
* Updated navbar component name
* Update navbar route to job-postings
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
* Update Navbar Component Name -> NavBar
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
* Updated NavBar name for consistency
* Added padding for client view job postings
* fixup!
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
* [TCES-84] Add an endpoint to fetch a public job post's info (#151)
* add /active/job_posting_id endpoint
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* add tests for getOneActiveJobPost and 404 error case to getOneJobPost
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* address review comments
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* [TCES-77] Create a Table Component For Job Applications View + Entire Job Application View page (#152)
* creating table component
* fix: fixed parameter issue with fetchAllJobApplications in job_appications_api.js
* components worked on for job application view, route added
* restructured components to match rest of pages structure, organized code into components, finished most of everything except for filter implementation mocks
* deleted unnecessary lines, move some variables into more relevant components
* added proptypes and wrote future todos for application table component
* add proptypes to search inputs
* added proptypes to dashboard component
* removed unnecessary proptype here, and fixed sort values
* created mock job application fetch functions mainly for testing
* mostly completed job application view, need to rework organization of loading applications, considering using a loader function
* fixed table width, removed console logs
* fixed requested changes, moved some components to styled component (application table)
* fixed eslint errors
* Update client/src/components/job-applications-view-component/search-component/index.jsx
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
* fixed nan and undefined on clear bugs, reset now resets sort and sort default is now descending
* fixed sort reset, also sort keeps applied value on menu exit
---------
Co-authored-by: William Nhut Lam <williamntlam@gmail.com>
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
* Update NavBar for public/logged-out views (#158)
* Update NavBar for public/logged-out views
Added title to PublicNavBar component
* fixup!
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
* [TCES-74] Single Job Applications Page (#157)
* Single Job Applications Page
* fixup: add error checking
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* show current application status on the application status dropdown
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
* [TCES-86][TCES-87][READY-FOR-REVIEW] Complete Routing for Job Info Page and Replace Mock Data with Backend Endpoints in Job Posts Client View (#155)
* chore: initialized file for file upload component
* chore: added comments to detail implementation of file upload button
* chore: run formatter
* feat: use prop drilling to make the file upload button functional
* feat: when a file is uploaded, it shows at the bottom as well as its status
* feat: matched file upload visual at the bottom to be more like the figma design
* feat: file upload button now displays the required message when the file is too big
* feat: added HTTP request for file upload after upload meter hits 100%
* delete: deleted file upload button component to merge it with the Job Info page
* feat: merged component into job info page code
* feat: text box renders dynamically beside the 'Status In Canada' text box when 'Other' is selected.
* feat: updated info module to include a 'read more' button if the description is too long
* feat: added cover letter text field
* feat: changed loading meter bar for file to account for the fact that the file upload is done through the backend; the loading meter will fail if the backend responds with an error
* feat: updated form to include all necessary attributes to fit model file for job applications; added module for adding custom responses
* feat: added base code for google recaptcha, fixed file upload UI bug
* feat: added google widget. the widget currently has my site key but this will be used for demonstrative purposes for the pull request
* feat: added google widget. the widget currently has my site key but this will be used for demonstrative purposes for the pull request
* style: changed width of button to match the width of the google recaptcha widget
* feat: added error handling for files that are greater than 5mb
* feat: added an error message when a file that is greater than 5 mb is uploaded
* chore: added props back to the component
* chore: run formatter
* feat: added job title and company at the top of the job posting page
* feat: connected job info application page frontend and backend
* fix: fixed UI bug when the user selects 'other' as their statis in canada
* fix: fixed UX bug with adding custom responses
* refactor: changed react component to use props again for dynamic rendering
* refactor: changed routing to show main page again
* chore: updated package.json
* fix: fixed package.json and package-lock.json
* refactor: added props again
* feat: implemented a function to validate recaptcha tokens
* refactor: removed statusOptions and handleSubmit props in Job Info Application page
* feat: updated addJobApplication.js to include reCAPTCHA token validation
* feat: token validation works now for Google reCAPTCHA
* style: made job info application page smaller so that it fits on the screen entirely
* feat: updated job post info page with new dropzone element (react-dropzone)
* test: added token validation mock function for addJobApplications.test.js and added a token validation test
* chore: run formatter
* test: fixed addJobApplications.test.js
* fix: fixing addJobApplications.test.js
* fix: fixing addJobApplications.test.js
* fix: trying to fix file creation error in addJobApplication.test.js
* fix: attempting a fix by adding a mock pdf file
* fix: attempting a fix by adding a mock pdf file
* fix: trying to fix file upload testing in addJobApplications.test.js
* fix: trying to fix file upload testing in addJobApplications.test.js
* fix: trying to fix file upload testing in addJobApplications.test.js
* feat: added better UIUX design when user uploads a file that is too large
* style: made everything a bit smaller so it fits on one page
* fix: adding print statements to debug
* fix: adding print statements to debug
* fix: trying to fix unit tests
* fix: trying to fix unit tests
* fix: trying to fix unit tests
* fix: trying to fix unit tests
* fix: removed unnecessaru console.log and console.error statements
* refactor: removed console.log statements that were added during debugging
* feat: page is now fetching job post information using an API call
* feat: job postings are fetched from the database in the job postings table client view
* feat: when clicking on the title of the job posting the corret url is dynamically created
* feat: Job postings client table is now connected to the separate job posting view page
* feat: when directed to the specific job posting application page, the correct job posting data is fetched
* feat: replaced hardcoded locations with locations present in database
* style: added style changes
* style: added more padding for the input fields
* chore: run formatter
* style: added more padding for input fields
* fix: fixed file upload component
* chore: run prettier
* fix: 'read more' button only shows when there is text overflowing from the job description
* chore: removed unused import
* fix: sort button works for ascending / descending job apps now
* feat: filtering by job types work now
* chore: run prettier
* feat: sorting by date, job type, and location works and sorting combinations work
* chore: run prettier
* chore: fixed all eslint issues
* refactor: made job posting sort fetching more efficient
---------
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
Co-authored-by: Mieko <37809278+miekoyao@users.noreply.github.com>
* [TCES-89] Clean Up Job Applications Backend (#159)
* job applications sorting and filtering (not fully functional)
* remove uniqueApplicants
* fixup!
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
* Dthakkar/tces 50 filtering and sorting for job applications get endpoints for (#153)
* add get request check
* make base query with params
* finish the export
* add routing
* remove unncessary comments
* solve merge conflict in job_posts_api
* fix typo
* fix namingmismatches
* fix typo in controller
* fix syntax issues
* Ensure all files are in job_applications and not job_posts
* fixup!
---------
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
* Houmanebrahimi67/tces 73 single job posting page edit job post page (#156)
* All Job Posts View: Replace mock data with backend endpoints
* change function name
* add pagination
* edit job postings
* fix query parameters for endpoints
* fix page and pageSize parameters
* fix filter sort
* fix delete endpoint
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* fix dialog for deleting job posts
* clean up!
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* fix error logs
* clear error logs
* fix error logs
* fix error handling issues
* Add a button to reset all applied filters
* fix the reset button width and font
* fixup!
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* disable and enable reset all button
* add single job post and edit page to all job postings
* update edit job posting
* fixing edit form bug, refactoring to remove unused files
* remove console.log
* fix routing issue & clean up some variable names
* update component edits
* fix frontend validation of min and max compensation
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* add space between the the max and min text boxes
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: John Doe <johndoe@email.com>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Mieko <37809278+miekoyao@users.noreply.github.com>
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
* styled filters to match border radius of figma, implemented reset button (#161)
* 04kash/fixups (#163)
* remove unused controller
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* some UI/UX improvements
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* some more fixups!
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* make filter options query case insensitive (#165)
* [TCES-76][READY-FOR-REVIEW] AWS Resume Storage & Retrieval (#160)
* feat: added file name sanitization for resume upload
* feat: changed filename to include job posting id so that all resumes associated with a job posting are deleted when the job posting is deleted
* fix: file upload to s3 bucket works now
* chore: run prettier
* chore: removed unused imports
* feat: skeleton code for handling presigned url download is commented
* chore: run prettier
* fix: fixed correct route url for getting presigned url
* feat: presigned url PDF download works now
* feat: presigned url link download works from the client side now
* feat: presigned resume URL download works
* chore: run prettier
* fix: fixed incorrect return code
* feat: fixed protected route usage for getting presigned URL for resume download
* chore: run prettier
* refactor: added back missing IsLoggedIn middleware and removed console.log statements.
* fix: added isLoggedIn middleware to resume upload
* fix: removed typo in addJobApplication controller
* chore: remove console.log statement
* delete: removed getOneJobApplication.js
* fix: fixed submitting a job application
* add success dialog box
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
* tces 107 : clean up frontend error checking (#164)
* All Job Posts View: Replace mock data with backend endpoints
* change function name
* add pagination
* edit job postings
* fix query parameters for endpoints
* fix page and pageSize parameters
* fix filter sort
* fix delete endpoint
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* fix dialog for deleting job posts
* clean up!
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* fix error logs
* clear error logs
* fix error logs
* fix error handling issues
* Add a button to reset all applied filters
* fix the reset button width and font
* fixup!
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* disable and enable reset all button
* add single job post and edit page to all job postings
* update edit job posting
* fixing edit form bug, refactoring to remove unused files
* remove console.log
* fix routing issue & clean up some variable names
* update component edits
* fix frontend validation of min and max compensation
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* add space between the the max and min text boxes
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
* clean up front end error
* add dialog box instead of alert and console.error
* error logs
* add Divider
* fixup!
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: John Doe <johndoe@email.com>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Mieko <37809278+miekoyao@users.noreply.github.com>
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
* [TCES-101] Job Applications View: Replace mock data with backend endpoints (#162)
* replace mock data with backend endpoints in job application view
* fix sorting
* pagination
---------
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
* [TCES-95] CSS Fixes Public Job Board (#168)
* made background grey
* chanaged bg color to grey, added scroll to top feature on pagination change
* [TCES-96] CSS Fixes All Job Postings Page (#169)
* rounded corners, changed background color, changed checkbox component and other miscellaneous styling fixes
* navbar has higher z-index position so shadow always shown
* fix table overlap background color cutoff
---------
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
* css fixes for job post single pages (#166)
* css fixes for job post single pages
* update pay frequency
---------
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
* make download resume button functional and also fix some prettier issues (#167)
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
---------
Signed-off-by: root <root@LAPTOP-9VOLP0N6>
Signed-off-by: Kashish Mittal <kmittal@redhat.com>
Signed-off-by: Kashish Mittal <m04kashish@gmail.com>
Co-authored-by: Kashish Mittal <113269381+04kash@users.noreply.github.com>
Co-authored-by: root <root@LAPTOP-9VOLP0N6>
Co-authored-by: William Nhut Lam <163342709+williamntlam@users.noreply.github.com>
Co-authored-by: Harshith Latchupatula <harshithl1777@gmail.com>
Co-authored-by: Michelle Huang <50971945+1michhu1@users.noreply.github.com>
Co-authored-by: Lana W <69004535+lana-w@users.noreply.github.com>
Co-authored-by: Shahmeer Khan <70596616+Zaib111@users.noreply.github.com>
Co-authored-by: Dhairya Thakkar <80651753+dhairya-t@users.noreply.github.com>
Co-authored-by: Kashish Mittal <kmittal@redhat.com>
Co-authored-by: Jamie Yi <90401652+penguinc00kies@users.noreply.github.com>
Co-authored-by: William Nhut Lam <williamntlam@gmail.com>
Co-authored-by: Alex Lewis <150391000+alexlewis9@users.noreply.github.com>
Co-authored-by: Houman Ebrahimi <90071124+HoumanEbrahimi@users.noreply.github.com>
Co-authored-by: John Doe <johndoe@email.com>
Co-authored-by: penguinc00kies <jamiesumin@gmail.com>1 parent cb80c81 commit 4cf26d9
128 files changed
Lines changed: 15286 additions & 931 deletions
File tree
- client
- public
- img
- src
- components
- add-job-lead-component
- add-job-post-component
- application-form-fields
- job-info-form
- posting-result-dialog
- client-dashboard-component
- client-dashboard-filter
- dashboard-component
- header-dashboard-component
- edit-job-lead-component/edit-job-lead-form
- job-application-component
- applicant-information-card
- application-details-card
- box-row-component
- job-applications-view-component
- job-application-dashboard
- job-application-table-component
- search-component
- job-lead-dashboard-component
- job-lead-dashboard-filters
- job-lead-dashboard-table
- job-postings-client-dashboard-component
- job-postings-client-dashboard-header
- job-postings-client-dashboard-table
- job-postings-dashboard-component
- job-postings-dashboard-details
- job-postings-dashboard-header
- job-postings-dashboard-table
- job-type-chips-component
- timeline-create-entry-components/placed-entry-component
- view-job-posts-component/job-type-chips-component
- mock-data
- pages
- add-job-post
- inner-job-post
- job-application-view
- job-application
- job-postings-client-dashboard
- job-postings-dashboard
- view-job-post
- utils
- server
- src
- configs
- controllers
- job_applications
- job_posts
- middlewares/multer
- models
- routes
- uploads
- utils
- test
- controllers
- job_applications
- job_posts
- mocks
- src/uploads
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
2 | 4 | | |
| 5 | + | |
3 | 6 | | |
4 | 7 | | |
5 | | - | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
6 | 13 | | |
7 | 14 | | |
8 | 15 | | |
9 | 16 | | |
| 17 | + | |
10 | 18 | | |
| 19 | + | |
11 | 20 | | |
12 | 21 | | |
13 | 22 | | |
14 | 23 | | |
15 | 24 | | |
16 | | - | |
| 25 | + | |
| 26 | + | |
17 | 27 | | |
18 | 28 | | |
19 | | - | |
| 29 | + | |
20 | 30 | | |
21 | 31 | | |
22 | 32 | | |
23 | | - | |
24 | | - | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
25 | 37 | | |
26 | | - | |
| 38 | + | |
| 39 | + | |
27 | 40 | | |
28 | | - | |
29 | | - | |
30 | 41 | | |
| 42 | + | |
31 | 43 | | |
32 | 44 | | |
33 | 45 | | |
| 46 | + | |
34 | 47 | | |
35 | 48 | | |
| 49 | + | |
36 | 50 | | |
37 | 51 | | |
38 | 52 | | |
39 | 53 | | |
40 | 54 | | |
41 | 55 | | |
| 56 | + | |
42 | 57 | | |
| 58 | + | |
43 | 59 | | |
44 | | - | |
45 | | - | |
46 | | - | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
47 | 63 | | |
48 | | - | |
49 | | - | |
| 64 | + | |
| 65 | + | |
50 | 66 | | |
51 | 67 | | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
57 | 75 | | |
58 | | - | |
59 | 76 | | |
60 | 77 | | |
61 | 78 | | |
| |||
66 | 83 | | |
67 | 84 | | |
68 | 85 | | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
69 | 101 | | |
70 | 102 | | |
71 | 103 | | |
72 | | - | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
0 commit comments