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.
-
+
## 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
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
diff --git a/app/views/job_applications/_job_application.html.erb b/app/views/job_applications/_job_application.html.erb
index 0c39849..3364723 100644
--- a/app/views/job_applications/_job_application.html.erb
+++ b/app/views/job_applications/_job_application.html.erb
@@ -1,35 +1,39 @@
-
| - <%= 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' %> |
|---|