Skip to content

Latest commit

 

History

History
135 lines (95 loc) · 5.01 KB

README.md

File metadata and controls

135 lines (95 loc) · 5.01 KB

Job Tracker

Build Status License

Introduction 📜

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

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 On Date
    • Company Name
    • Position Title
    • Postion Type (Full-time, Part-time, Internship)
    • Contact Method
    • Point of Contact (P.o.C.)
    • Email
    • Website
    • Status (No response, Interviewing, Job offer, Hired, Not hired)
    • Location (Hybrid, Remote, In office)
  • Dynamic Filtering: Quickly find specific applications using search and filter options.
  • Real-time Updates: Leveraging Hotwire for seamless, dynamic content updates without full page reloads.
  • Responsive Design: Fully functional on both desktop and mobile devices.

Technical Stack

  • Backend: Ruby on Rails 7
  • Frontend:
    • Tailwind CSS for styling
    • Hotwire (Turbo and Stimulus) for dynamic interactions
    • Vite for modern JavaScript bundling
  • Database: PostgreSQL

Getting Started 🚀

System Requirements

You will need the following to run the application.

Refer here to install these dependencies

Running the 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.

./bin/setup

Start Job Tracker

./bin/dev

This runs overmind or foreman using the Procfile.dev. It starts the rails server, solid queue background job process and vite server.

Visit http://localhost:3000 to see the home page 🚀.

Seed Data

To help you get started and test the application's features, I've included a seed file that generates 50 sample job applications. This data is designed to simulate a realistic job search scenario.

rails db:seed

Running locally with docker

Job Tracker supports docker and docker compose for local development. Install Docker and Docker desktop,

Once you have cloned the repository and have Docker installed, follow the following steps

  • Run docker compose build to build. It will build the necessary images.
  • Run docker-compose run --rm web bin/setup to create and set up the database.
  • Run docker compose up to start the application. Since the local code from your host machine is mounted in the docker container, any change made locally will be directly reflected. You don't need to rebuild the container.

Deployment 📦

  • Heroku
  • Render

Testing 🧪

Running all tests

./bin/rails test:all

License 🔑

JobTracker is released under the MIT License.

Contributing 🤝

Contributions Welcome: I'm open to contributions! If you'd like to help improve this project:

  1. Fork the repository
  2. Create a new branch for your feature or bug fix
  3. Make your changes and commit them with clear, descriptive messages
  4. Push your changes to your fork
  5. Create a pull request with a detailed description of your changes

I appreciate all contributions, big or small. Let's build something great together! 🚀

🚧 Note: This project is currently under active development and is very much a work in progress. Features may change.

Acknowledgements

This project was built upon the foundation provided by Shore, a Ruby on Rails template with a modern stack for starting new projects. I express my gratitude to the Shore project for providing an excellent starting point.

Shore is a Ruby on Rails template with modern stack to start your new project.

I highly recommend checking out the Shore project for anyone looking to kickstart their Ruby on Rails development with a modern, well-structured template.