Skip to content

Feat/ingestor architecture#13

Merged
Villarley merged 7 commits intoNeko-Protocol:mainfrom
KevinMB0220:feat/ingestor-architecture
Jan 22, 2026
Merged

Feat/ingestor architecture#13
Villarley merged 7 commits intoNeko-Protocol:mainfrom
KevinMB0220:feat/ingestor-architecture

Conversation

@KevinMB0220
Copy link
Contributor

🚀 Neko Pull Request

Mark with an x all the checkboxes that apply (like [x])

  • Closes #
  • Added tests (if necessary)
  • Run tests
  • Run formatting
  • Evidence attached
  • Commented the code

📌 Type of Change

  • Documentation (updates to README, docs, or comments)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

📝 Changes description

This PR introduces a Prices Ingestor module that exposes raw asset prices via an HTTP endpoint for external observability.

✅ What was implemented

New Files

  • services/price-fetcher.service.ts
    Simulates raw price fetching from external APIs with detailed logging.

  • controllers/prices.controller.ts
    HTTP controller exposing GET /prices/raw.

  • modules/prices.module.ts
    NestJS module encapsulating the prices controller and service.

Modified Files

  • app.module.ts
    Imports and wires the PricesModule.

  • .eslintrc.js
    ESLint configuration updates.

🎯 Acceptance Criteria Met

  • Externally observable prices
    Available via GET /prices/raw and logged to the console.

  • Verifiable output
    Endpoint returns 12 raw prices
    (4 symbols × 3 data sources).

  • No persistence
    Uses in-memory storage only.


📸 Evidence (A Loom/Cap video is required as evidence, we WON'T merge if there's no proof)

image
  • Response returns a JSON array with simulated raw prices for:

    • AAPL
    • GOOGL
    • MSFT
    • TSLA

    From the following sources:

    • AlphaVantage
    • YahooFinance
    • Finnhub

📷 Screenshot / video capture attached showing the successful response.

image

⏰ Time spent breakdown

  • Architecture & module setup: 30 min
  • Service & controller implementation: 45 min
  • ESLint configuration & formatting: 15 min
  • Manual testing & evidence capture: 15 min

Total: ~1h 45m


🌌 Comments

This implementation focuses on observability and correctness, providing a clean foundation for future oracle integrations.
The logic is intentionally kept simple and in-memory to align with the current acceptance criteria and allow fast iteration.


Close #11

Thank you for contributing to Neko, you just helped us make RWAs consumer friendly on Stellar! 🚀

Copy link
Contributor

@FabianSanchezD FabianSanchezD left a comment

Choose a reason for hiding this comment

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

Looks good to me! This is a great way to test out the ingestor architecture

@Villarley Villarley merged commit 9fb3600 into Neko-Protocol:main Jan 22, 2026
1 check passed
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.

Expose raw prices for POC consumption

3 participants