Skip to content

Add Perl + MongoDB Quickstart (Addressed review feedback)#851

Open
Akshat005Chaudhary wants to merge 8 commits into
keploy:mainfrom
Akshat005Chaudhary:akshat-branch-one
Open

Add Perl + MongoDB Quickstart (Addressed review feedback)#851
Akshat005Chaudhary wants to merge 8 commits into
keploy:mainfrom
Akshat005Chaudhary:akshat-branch-one

Conversation

@Akshat005Chaudhary

Copy link
Copy Markdown

Summary

This PR re-submits the Perl + MongoDB Quickstart after addressing feedback from the previous review.

Ref: #774


Updates Based on Review

  1. Yes keploy record and keploy test usage for both Docker and local setups are clearly documented for the ease of beginners, with explicit references to sections being attacked below.

Keploy Record in local setup
image

Keploy Test in local setup
image

Keploy Record in Docker setup
image

Keploy Test in Docker setup
image

  1. Confirmed the correctness of sidebar entry, denying any concerns regarding removal or tampering of the sidebar entry instrumental for the guide to be discoverable in the docs navigation.
image
  1. The Perl+MongoDB sample app reference in the guide is confirmed to be publicly accessible and the running of the application is reproducible in a clean environment.
  2. I have rebased on latest main and resolved merge conflicts
  3. Furthermore, the quickstart guide provided follows consistent narrative style and structure with overall docs enhancing readability and usage.

Notes

All feedback from the previous review has been addressed.
Happy to make further improvements if needed.

@Akshat005Chaudhary

Copy link
Copy Markdown
Author

Hi @amaan-bhati , resubmitting this PR after addressing all previous review comments (Ref: #774). Would appreciate another look.

@amaan-bhati
amaan-bhati self-requested a review June 12, 2026 13:57

@amaan-bhati amaan-bhati left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for resubmitting and addressing the previous feedback given on #774. A few things still need to be fixed that i've segregated into blocking, should fix and nit picks:

Blocking

  • Sidebar duplication (versioned_sidebars/version-4.0.0-sidebars.json): The diff accidentally introduces duplicate CI/CD Integration entries (now appears 3x) and a duplicate Test Coverage Integration. There's also a K8s Proxy category added here that has nothing to do with this PR - looks like a bad conflict resolution during rebase. Please clean this up; it'll break the v4.0.0 sidebar.

  • Missing unversioned doc: The guide is only added under versioned_docs/version-4.0.0/. The links in QuickStartList.js point to /docs/quickstart/perl-mongo/ which resolves to the current/unversioned docs - that file doesn't exist, so the filter cards will 404. You need a docs/quickstart/perl-mongo.md as well.

  • Sample app in personal repo: Both clone commands point to your personal GitHub account. All other quickstarts use github.com/keploy/.... Once you are 100% sure on self review on your personal repo, let me know, i'll tell you where exactly to create a pr to add the sample app.

Should fix

  • The anchor links in QuickStartList.js don't match the actual heading slugs. E.g. the Docker heading is ## How to run the sample application Using Docker Compose 🐳 but the link uses #running-app-using-docker-compose-. Double-check both anchors.

  • Local keploy test command is missing --delay - the Docker version has it (--delay 10). Add it for consistency.

  • Heading levels in the local section are inconsistent - subsections jump to ## where the Docker section uses ###. Keep them ###.

Nits

  • "Keploy with capture" → "will capture" (appears twice)
  • shortUrl: "http://localhost:5000QWERTY" is missing a / - should be http://localhost:5000/QWERTY
  • Image alt text is literally alt text in both places - make it descriptive, helps in seo and image failure as well.

@Akshat005Chaudhary

Copy link
Copy Markdown
Author

Hi @amaan-bhati,

I have addressed all the PR feedback. Here is a summary of the changes:

Blocking

  • Sidebar duplication: Cleaned up the duplicate CI/CD Integration and incorrect K8s Proxy and Test Coverage entries in versioned_sidebars/version-4.0.0-sidebars.json.
  • Missing unversioned doc: Added docs/quickstart/perl-mongo.md to prevent 404s when browsing unversioned docs.
  • Sample App Ownership: Updated the repository URLs in all clone/run instructions to point to the official Keploy location (https://github.com/keploy/samples-perl.git). Let me know once the repository is created so I can submit the sample application PR there!

Should Fix

  • Anchor Links: Standardized the headings to ensure their auto-generated slugs match the anchor links in QuickStartList.js (#running-app-using-docker-compose- and #running-app-locally-on-linuxwsl-).
  • Commands: Added the missing --delay 10 flag to the local keploy test command.
  • Heading Consistency: Converted all subsections in the local section from ## to ### to match the Docker section.

Nits

  • Fixed typos (Keploy with capture -> Keploy will capture).
  • Added the missing / in the shortUrl example (http://localhost:5000/QWERTY).
  • Added descriptive alt text to all quickstart images.

I've successfully verified the build locally with npm run build. Please review and merge. Thanks!

@amaan-bhati amaan-bhati left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good progress here, most of the previous issues have been addressed. The sample app is now under the keploy org, the unversioned doc is included, sidebar is clean, anchor links look correct, and the --delay flag is in both test commands. Just a few small things left to fix.

One thing to note: whatever changes are needed in docs/quickstart/perl-mongo.md apply equally to versioned_docs/version-4.0.0/quickstart/perl-mongo.md since both files are identical. Please update both together.

Comment thread docs/quickstart/perl-mongo.md Outdated
- Auto case generation
---

import Link from '@docusaurus/Link'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Link is imported here but never used anywhere in the file. Can you remove this import?

Comment thread docs/quickstart/perl-mongo.md Outdated
curl -v http://localhost:5000/QWERTY
```

This is return 302 status code and redirect to the original url if code is correct.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"This is return" should be "This will return". Same issue appears again in the local setup section further down, please fix both.

Comment thread docs/quickstart/perl-mongo.md Outdated
curl http://localhost:5000/XXXXXX
```

This is give error:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"This is give error" should be "This will give an error". Same issue appears in the local setup section too.

Comment thread docs/quickstart/perl-mongo.md Outdated

<SectionDivider />

## Running App Locally on Linux/WSL 🐧

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The heading says Linux/WSL but the install instructions below cover macOS (brew install cpanminus) and Windows (cpan App::cpanminus) as well. Either update the heading to "Running App Locally on Linux/WSL/macOS" to reflect the actual content, or decide to drop the macOS/Windows steps if the intent is strictly Linux/WSL.

Comment thread docs/quickstart/perl-mongo.md Outdated

![Keploy record mode session for Perl and MongoDB application](/img/oss/perl-mongo-1.png)

Keep an eye out for the `-c `flag! It's the command charm to run the app.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a trailing space inside the backtick here: `-c ` should be `-c`. Small but it renders with the space included.

@Akshat005Chaudhary

Copy link
Copy Markdown
Author

Hi @amaan-bhati,

I have addressed the review feedback and pushed the updates:

  1. Unused Import: Removed the unused Link import at the top of the file.
  2. Grammar Fixes: Corrected "This is return" to "This will return" and "This is give error" to "This will give an error" across both the docker-compose and local setup sections.
  3. Local Setup Heading: Updated the heading to "Running App Locally on Linux/WSL/macOS" to align with the macOS instructions listed below.
  4. Command Flag Formatting: Removed the trailing space inside the backticks for the -c flag.

Both the unversioned and versioned docs have been updated. Ready for your review!

@amaan-bhati
amaan-bhati requested a review from Copilot July 9, 2026 09:13

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@dhananjay6561 dhananjay6561 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the resubmission @Akshat005Chaudhary! Left a couple of inline comments.

One blocker: the guide clones https://github.com/keploy/samples-perl.git, but that repo isn't live under the keploy org yet (it 404s), so the quickstart can't actually be followed end-to-end. Could you share the current link where the sample app lives? Once it's up under keploy, we can confirm the clone URL, the --container-name=perl-app value, and the endpoint responses match the app.

server: "Local",
description:
"A sample URL Shortener app to demonstrate Keploy integration capabilities using Perl and MongoDB.",
link: "/docs/quickstart/perl-mongo/#running-app-locally-on-linuxwsl-",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This anchor looks like it'll break. The heading in the guide is ## Running App Locally on Linux/WSL/macOS 🐧, which Docusaurus slugifies to running-app-locally-on-linuxwslmacos- — but this link points to running-app-locally-on-linuxwsl- (missing macos), so the "Local" card won't scroll to the right section.

The existing samples use the heading Running App Locally on Linux/WSL 🐧 (no /macOS), which is why their #running-app-locally-on-linuxwsl- anchors work. Easiest fix: match that heading in the guide, otherwise update this link to #running-app-locally-on-linuxwslmacos-.

Clone the repository and move to relevant folder

```bash
git clone https://github.com/keploy/samples-perl.git

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

keploy/samples-perl doesn't resolve — this repo isn't live under the keploy org, so the clone fails and the guide can't be followed. Could you share the current link to the sample app? (Same clone URL is also used in the local-setup section on line 162, and in docs/quickstart/perl-mongo.md.)

@Akshat005Chaudhary

Copy link
Copy Markdown
Author

Hi @dhananjay6561 and @amaan-bhati,

Here's the sample Perl + MongoDB app I've built for this quickstart:
👉 https://github.com//

@amaan-bhati — as discussed earlier, could you let me know where to
create a PR to get this added under the keploy org? Once it's live
there, I'll update all the clone URLs and container references in
the docs accordingly.

@dhananjay6561

Copy link
Copy Markdown
Member

Hey @Akshat005Chaudhary, thanks for the contribution and for addressing the earlier feedback! I tested the flow along with the docs and everything seems to be working properly — setup instructions (both Docker and Local), the record/replay commands, and the endpoints all check out. Nice work.

One suggestion though: while the app is good and everything works, I feel the quickstart isn't really showcasing Keploy's full capabilities right now. It's a pretty small use case — the URL shortener only exposes a handful of calls (POST /shorten, redirect, stats, and one negative case). I'd recommend taking a look at some of the other quickstarts we have to see how they demonstrate more of what Keploy can do, and then improving this one along the same lines.

Specifically:

  • Expand the app logic so more operations and API calls can be performed (e.g. listing/pagination, filtering/search, custom aliases, expiry, click analytics, validation/error cases, maybe a couple of related resources so you get dependent calls).
  • Develop a traffic script of around 20 API calls that exercises these flows end-to-end, and update the doc accordingly so the recorded test set actually reflects a realistic scenario.

This would make the quickstart much more representative of how Keploy performs in a real project. Let me know if you need any pointers on the other quickstarts to reference!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants