From 8258b6957bf32ad4cf403e603b02882572551750 Mon Sep 17 00:00:00 2001 From: Tony Gaeta Date: Fri, 19 Jul 2024 12:26:54 -0400 Subject: [PATCH 1/4] Create ui helper methods to display emojis --- app/helpers/job_applications_helper.rb | 66 ++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/app/helpers/job_applications_helper.rb b/app/helpers/job_applications_helper.rb index 0a90069..d142af5 100644 --- a/app/helpers/job_applications_helper.rb +++ b/app/helpers/job_applications_helper.rb @@ -8,4 +8,70 @@ def display_position_type(position_type) position_type end end + + def status_chip_classes(status) + base_classes = "rounded-full px-2 py-1 text-xs font-medium text-center whitespace-nowrap overflow-hidden text-ellipsis max-w-full" + + status_classes = case status.to_sym + when :hired + "bg-green-100 text-green-800" + when :interviewing + "bg-blue-100 text-blue-800" + when :job_offer + "bg-purple-100 text-purple-800" + when :no_response + "bg-yellow-100 text-yellow-800" + when :not_hired + "bg-red-100 text-red-800" + else + "bg-gray-100 text-gray-800" + end + + "#{base_classes} #{status_classes}" + end + + def position_type_chip_classes(position_type) + base_classes = "rounded-full px-2 py-1 text-xs font-medium text-center whitespace-nowrap overflow-hidden text-ellipsis max-w-full" + + type_classes = case position_type.to_sym + when :full_time + "bg-indigo-100 text-indigo-800" + when :part_time + "bg-amber-100 text-amber-800" + when :internship + "bg-teal-100 text-teal-800" + else + "bg-gray-100 text-gray-800" + end + + "#{base_classes} #{type_classes}" + end + + def location_emoji_with_tooltip(location) + emoji_map = { + in_office: "🏢", + remote: "💻", + hybrid: "🔄" + } + + emoji = emoji_map[location.to_sym] || "❓" + full_text = location.to_s.humanize + + content_tag(:span, emoji, title: full_text, class: "cursor-default text-2xl") + end + + def method_of_contact_emoji_with_tooltip(method) + emoji_map = { + email: "📧", + internet_job_application: "🌐", + other: "🗂️", + phone: "📱", + recruiter: "🤝" + } + + emoji = emoji_map[method.to_sym] || "❓" + full_text = method.to_s.humanize + + content_tag(:span, emoji, title: full_text, class: "cursor-default text-2xl") + end end From 8dcc1393feb9559d011993ef199ca9ce450d0e36 Mon Sep 17 00:00:00 2001 From: Tony Gaeta Date: Fri, 19 Jul 2024 12:27:11 -0400 Subject: [PATCH 2/4] Update table with helper methods and sizing --- .../_job_application.html.erb | 36 ++++++++++--------- .../_job_applications_table.html.erb | 6 ++-- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/app/views/job_applications/_job_application.html.erb b/app/views/job_applications/_job_application.html.erb index 0c39849..ec6d738 100644 --- a/app/views/job_applications/_job_application.html.erb +++ b/app/views/job_applications/_job_application.html.erb @@ -1,35 +1,39 @@ - - + + <%= job_application.date_applied.strftime('%m/%d/%Y') %> - + <%= job_application.company_name %> - + <%= job_application.position_title %> - - <%= display_position_type(job_application.position_type) %> + +
+ <%= display_position_type(job_application.position_type) %> +
- - <%= job_application.method_of_contact.humanize %> + + <%= method_of_contact_emoji_with_tooltip(job_application.method_of_contact) %> - + <%= job_application.point_of_contact.present? ? job_application.point_of_contact : '-' %> - + <%= job_application.email_address.present? ? job_application.email_address : '-' %> - + <%= job_application.claimed_for_unemployment ? '✔︎' : '-' %> - - <%= job_application.status.humanize %> + +
+ <%= job_application.status.humanize %> +
- - <%= job_application.location.humanize %> + + <%= location_emoji_with_tooltip(job_application.location) %> - + <% if job_application.website_link.present? %> <%= link_to 'Visit', safe_url(job_application.website_link), diff --git a/app/views/job_applications/_job_applications_table.html.erb b/app/views/job_applications/_job_applications_table.html.erb index 5824c48..9678a65 100644 --- a/app/views/job_applications/_job_applications_table.html.erb +++ b/app/views/job_applications/_job_applications_table.html.erb @@ -4,8 +4,8 @@ - - -
- <%= sort_link_to 'Applied', 'date_applied' %> + + <%= sort_link_to 'Applied On', 'date_applied' %> <%= sort_link_to 'Company', 'company_name' %> @@ -28,7 +28,7 @@ <%= sort_link_to 'Claimed', 'claimed_for_unemployment' %> + <%= sort_link_to 'Status', 'status' %> From a749ed849062d433cef80f61fdf01de44725e101 Mon Sep 17 00:00:00 2001 From: Tony Gaeta Date: Fri, 19 Jul 2024 12:28:36 -0400 Subject: [PATCH 3/4] Update README.md --- README.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index af3c17b..a3745cb 100644 --- a/README.md +++ b/README.md @@ -20,15 +20,15 @@ Job Tracker is a simple, powerful, and user-friendly web application designed to help job seekers efficiently manage their job search process. Built with Ruby on Rails and enhanced with modern web technologies, this tool streamlines the often overwhelming task of tracking multiple job applications. -UI Screenshot +UI Screenshot ## Key Features - **Intuitive Interface**: Easy-to-use dashboard for quick overview of all job applications. - **Detailed Tracking**: Record essential information for each application, including: - - Applied - - Company - - Position + - Applied On Date + - Company Name + - Position Title - Postion Type (Full-time, Part-time, Internship) - Contact Method - Point of Contact (P.o.C.) @@ -63,7 +63,13 @@ Refer [here](./docs/installing_prerequisites.md) to install these dependencies ### Running the application -Start your application +Run `bin/setup` to set up the application. It prepares the database and installs the required ruby gems and javascript packages. The script is idempotent, so you can run it multiple times. + +```bash +./bin/setup +``` + +Start Job Tracker ```bash ./bin/dev From e27593d9c100a1036adc31ba9780a803431eb1d1 Mon Sep 17 00:00:00 2001 From: Tony Gaeta Date: Fri, 19 Jul 2024 12:29:56 -0400 Subject: [PATCH 4/4] Update _job_application.html.erb --- app/views/job_applications/_job_application.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/job_applications/_job_application.html.erb b/app/views/job_applications/_job_application.html.erb index ec6d738..3364723 100644 --- a/app/views/job_applications/_job_application.html.erb +++ b/app/views/job_applications/_job_application.html.erb @@ -33,7 +33,7 @@ <%= location_emoji_with_tooltip(job_application.location) %> + <% if job_application.website_link.present? %> <%= link_to 'Visit', safe_url(job_application.website_link),