How It Started
All I was given to begin with were two GitHub repositories:
- Frontend: jira_dashboard_fe
- Backend: jira_dashboard_be
There was no cloud environment, no setup walkthrough, just a message:
“You can pull them down locally and run them. Check the README. I’ll work on cloud hosting this weekend.”
Instead of spending hours deciphering environment quirks, I decided to use Cursor to see if it could take the pain out of getting up and running.
What Cursor Helped Me Do
Cursor took me from zero context to working environment in minutes. It:
- Read the code to understand dependencies
- Explained missing parts (like needing seeded Jira accounts)
- Generated a Ruby script to automate Jira account creation
- Walked me through Git, SSH, and environment setup
- Let me focus on why the app wasn’t showing the right UI — not how to get it running
Detailed Local Setup Instructions
Cursor generated a complete step-by-step guide. Below is a summarized version — ideal for anyone trying to run the app locally.
🔧 Environment Requirements
- macOS with Homebrew
- Ruby 3.2.0+ (
rbenv
) - Node.js 18+ (
fnm
)
📁 Cloning the Repos
mkdir -p ~/dev/rover && cd ~/dev/rover
git clone git@github.com:Rover-Engineering/jira_dashboard_fe.git
git clone git@github.com:Rover-Engineering/jira_dashboard_be.git
🧱 Backend Setup
cd jira_dashboard_be
rbenv install 3.2.0
bundle install
bundle exec rails db:create db:migrate db:seed
bundle exec rails server -p 3001 -b 0.0.0.0 -d
🖥️ Frontend Setup
cd ../jira_dashboard_fe
npm install
cp .env.sample .env
# Edit .env to: REACT_APP_API_URL=http://localhost:3001
npm start
🧩 Creating a Jira Account (The Missing Link)
To get past the empty UI state, I needed to seed a Jira account. Cursor generated this script:
# add_jira_account.rb (simplified)
user = User.find_by(username: 'admin')
jira_account = user.jira_accounts.build(...)
jira_account.save!
Running it prompted me to enter:
- Account Name
- Jira Domain
- API Token (from Atlassian)
This fixed the empty state and enabled the Manage Accounts UI to appear.
🚪 Accessing the App
- Frontend:
http://localhost:3000
- Backend:
http://localhost:3001
- Login:
admin
/XXXX
🧠 Cursor’s Summary Feature Helped Too
I also asked Cursor to summarize the architecture and setup. It broke down:
- Backend: JWT, JiraAccount model, API structure
- Frontend: React Query, Material UI, Tailwind
- Integration: Secure storage for API tokens, validation flows
- Security: SSH for GitHub, JWT sessions,
.env
configuration
🔜 What’s Next
In a follow-up post, we’ll walk through how I used AI to generate the code in these repos for features inside the app.
This post was co-authored with the help of ChatGPT and Cursor summaries.