Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tgaeta/job_tracker
Efficiently manage and track your job application history
https://github.com/tgaeta/job_tracker
hotwire-stimulus jobsearch ruby-on-rails tracker-application
Last synced: about 1 month ago
JSON representation
Efficiently manage and track your job application history
- Host: GitHub
- URL: https://github.com/tgaeta/job_tracker
- Owner: tgaeta
- License: mit
- Created: 2024-07-16T01:08:41.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-01T13:45:23.000Z (2 months ago)
- Last Synced: 2024-09-27T16:03:46.942Z (about 2 months ago)
- Topics: hotwire-stimulus, jobsearch, ruby-on-rails, tracker-application
- Language: Ruby
- Homepage:
- Size: 1.02 MB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
Job Tracker
## 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.
## 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.)
- 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.- [**Ruby 3.3.1**](./docs/installing_prerequisites.md#ruby)
- [**PostgreSQL 16.3**](./docs/installing_prerequisites.md#postgresql)
- [**Bun**](./docs/installing_prerequisites.md#bun)Refer [here](./docs/installing_prerequisites.md) 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.
```bash
./bin/setup
```Start Job Tracker
```bash
./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.
```bash
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](./LICENSE.txt).## 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 changesI 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](https://github.com/yatish27/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.