This project is a submission for the "Engineering Software-as-a-Service" (Fall 2025) course, Group 11.
- You Wu (yw4643)
- Jiawen Lyu (j17257)
- Zhijing Wu (zw3155)
- Robert Fornos (rf2830)
The modern job search is fragmented and requires unsustainable manual tracking. FlowTrack solves this by using the employer's final "Apply" URL as a unique anchor for each application.
Our platform automatically parses key metadata and feeds every application into a live Sankey diagram. This flow-first visualization replaces static lists, allowing users to instantly see bottlenecks and track progress from Applied to Offer.
- Framework: Ruby on Rails (MVC)
- Database: PostgreSQL
- Testing: RSpec (TDD) & Cucumber (BDD)
- Deployment: Heroku
The live SaaS prototype is deployed to Heroku:
[INSERT YOUR HEROKU DEPLOYMENT LINK HERE]
The source code is available on GitHub:
https://github.com/Real-Time-Job-Search-Tracker/proj-iter1
Before you begin, ensure you have the following installed:
- A specific Ruby version (e.g., as defined in
.ruby-version) - Bundler
- PostgreSQL (must be running)
-
Clone the repository:
git clone https://github.com/Real-Time-Job-Search-Tracker/proj-iter1.git cd proj-iter1 -
Install dependencies: This command installs all the required gems specified in the
Gemfile.bundle install
-
Create and setup the database: This creates the development and test databases and runs all migrations.
rails db:create rails db:migrate
-
(Optional) Seed the database: If your project has seed data, run this command:
rails db:seed
-
Run the application: This starts the Rails server (Puma) on
localhost:3000.rails s
You can now access the app at
http://localhost:3000.
-
Run RSpec (Unit/Model/Controller Tests): This executes all tests in the
spec/directory.bundle exec rspec -
Run Cucumber (User Stories / Acceptance Tests): This executes all features in the
features/directory.bundle exec cucumber
- You must have a Heroku account.
- You must have the Heroku CLI installed.
-
Log in to the Heroku CLI:
heroku login
-
Create a new Heroku application: You can either let Heroku pick a name or specify your own.
# Let Heroku pick a name heroku create # Or specify a name (must be unique) heroku create your-app-name-here
This also adds a new
herokugit remote to your local repository. -
Provision a PostgreSQL Database: Our app requires a database. This command adds the free
hobby-devtier.heroku addons:create heroku-postgresql:hobby-dev
-
Push your code to Heroku: This pushes your
mainbranch to Heroku. Heroku automatically detects it's a Rails app, runsbundle install, and precompiles assets.git push heroku main
-
Run database migrations on Heroku: Your code is deployed, but the database is empty. This command runs the
db:migratetask on the Heroku server.heroku run rails db:migrate
-
(Optional) Seed the production database: If you need to seed your live database, run this command:
heroku run rails db:seed
-
Open your application: This will open your newly deployed application in your web browser.
heroku open
For any future updates, you only need to:
- Push your new code:
git push heroku main - Run migrations if you added any new ones:
heroku run rails db:migrate