Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create ability for user to add and view work experience #15

Merged
merged 12 commits into from
Oct 10, 2024

Conversation

citruscai
Copy link
Contributor

@citruscai citruscai commented Oct 2, 2024

Fixes #11

Summary of Features:

1. ExperienceForm Component

  • Form Fields: Users can input details about their professional experiences, including:
    • Title: The role or position held.
    • Company: The name of the company.
    • Start Date: The date the experience began.
    • End Date: The date the experience ended (or mark it as "Present" for current roles).
    • Description: A detailed description of responsibilities and achievements.
    • Logo Upload: Allows users to upload a company logo, which is then previewed within the form.
  • Input Validation:
    • Title, Company, and Start Date are required fields.
    • The End Date cannot be earlier than the Start Date.
    • Users can check "Current Job," which will replace the End Date with "Present."
  • Responsive Design: The form adjusts to various screen sizes, with aligned inputs and centered logo upload.
  • Error Handling: Displays validation messages for incorrect date ranges.

2. ViewExperience Component

  • Displays Experiences: Lists all the experiences added through the ExperienceForm in a table-like structure.
  • Sorting:
    • Experiences marked as "Present" (current roles) are prioritized at the top.
    • The remaining experiences are ordered in descending order by the start date (latest to earliest).
  • Action Buttons: Each experience entry includes:
    • Edit Button: For future implementation of editing functionality.
    • Delete Button: For future implementation of deleting functionality.
  • Company Logo: Displays the uploaded logo for each experience. If no logo is provided, a placeholder "No Logo" message is displayed.
  • Responsive Layout: The layout adapts for different screen sizes, with columns for logo, experience details, and action buttons.
    Screenshot 2024-10-02 171411
    Screenshot 2024-10-02 171749

@citruscai
Copy link
Contributor Author

@yashika51

Copy link
Collaborator

@yashika51 yashika51 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you please make sure the tests are passing before we approve this for merge?

@Kingscliq
Copy link
Contributor

This is pretty decent @citruscai , excellent job.

My thoughts:

  1. yarn lock should be added to gitignore
  2. There is a prettier config file, but there is no configuration so that we all share the same config and formatting
  3. The summary view is so neatly designed but it's not responsive on mobile view
  4. for consistency I would have preferred we have created custom components like form fields, and modals, so anyone can pick it up and reuse

But overall you did a great job. Kudos!

@yashika51
Copy link
Collaborator

This is pretty decent @citruscai , excellent job.

My thoughts:

  1. yarn lock should be added to gitignore
  2. There is a prettier config file, but there is no configuration so that we all share the same config and formatting
  3. The summary view is so neatly designed but it's not responsive on mobile view
  4. for consistency I would have preferred we have created custom components like form fields, and modals, so anyone can pick it up and reuse

But overall you did a great job. Kudos!

Agreed with @Kingscliq, @citruscai please look into these points

@citruscai
Copy link
Contributor Author

thank you so much @Kingscliq @yashika51 !! will look into it! will hopefully have these fixes in by end of day

@citruscai
Copy link
Contributor Author

@Kingscliq should i remove it from my committ? this article is suggesting to keep it in git and the only reason it was in my commit was because of the prettier formatting yarnpkg/yarn#1583

@Kingscliq
Copy link
Contributor

@Kingscliq should i remove it from my committ? this article is suggesting to keep it in git and the only reason it was in my commit was because of the prettier formatting yarnpkg/yarn#1583

You can leave it. it's unopinionated. But I agree with the article for sharing consistent packages across projects

@citruscai
Copy link
Contributor Author

citruscai commented Oct 9, 2024

Changes Made:

  • Converted Experience Form to Modal: The ExperienceForm component has been changed to modal to maintain consistency in application and both mobile and browser views - shoutout to @Kingscliq for pointing that out, in previous projects i didnt check the mobile view of components. that is very important
  • Implemented Test Cases: Comprehensive test cases have been added for the ExperienceForm to ensure its functionality:
    • Verified rendering and user input for job title, company, and dates.
    • Tested behavior for the current job checkbox, including updating the end date to "Present" when checked.
    • Ensured the cancel button correctly invokes the onCancel callback and that the form does not submit with invalid end dates.

Made sure its passing all checks! should be good to go
@yashika51 does it look good? 😄

@citruscai
Copy link
Contributor Author

@yashika51 ok just fixed conflicts and workflow checks all passing now

@yashika51
Copy link
Collaborator

Changes Made:

  • Converted Experience Form to Modal: The ExperienceForm component has been changed to modal to maintain consistency in application and both mobile and browser views - shoutout to @Kingscliq for pointing that out, in previous projects i didnt check the mobile view of components. that is very important

  • Implemented Test Cases: Comprehensive test cases have been added for the ExperienceForm to ensure its functionality:

    • Verified rendering and user input for job title, company, and dates.
    • Tested behavior for the current job checkbox, including updating the end date to "Present" when checked.
    • Ensured the cancel button correctly invokes the onCancel callback and that the form does not submit with invalid end dates.

Made sure its passing all checks! should be good to go @yashika51 does it look good? 😄

Good job!

@yashika51 yashika51 merged commit 3ae358d into MLH-Fellowship:main Oct 10, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Page for adding a new Experience
3 participants