Skip to content

feat: add missing AOSSIE, StabilityNexus, and DjedAlliance projects#641

Open
Muneerali199 wants to merge 7 commits intoAOSSIE-Org:mainfrom
Muneerali199:feat/add-missing-projects
Open

feat: add missing AOSSIE, StabilityNexus, and DjedAlliance projects#641
Muneerali199 wants to merge 7 commits intoAOSSIE-Org:mainfrom
Muneerali199:feat/add-missing-projects

Conversation

@Muneerali199
Copy link

@Muneerali199 Muneerali199 commented Mar 9, 2026

Closes #638

Summary

The projects page at https://aossie.org/projects was missing many projects from the three AOSSIE-related GitHub organizations. This PR adds all missing projects to src/helper/projects.js and includes logos where available.

Screenshot


AOSSIE - Chromium 09-Mar-26 20_37_19
AOSSIE - Chromium 09-Mar-26 20_37_42

AOSSIE - Chromium 09-Mar-26 20_38_51

Changes

New logos added to src/images/

  • StabilityNexus.png — downloaded from GitHub org avatar
  • DjedAlliance.png — downloaded from GitHub org avatar
  • Existing Carbon.png and scholar.png (already in the repo but unused) are now imported and applied to their matching projects

New projects added to src/helper/projects.js

AOSSIE-Org (10 projects):

Project Description
Agora Web Online voting platform (web)
Agora iOS Online voting platform (iOS)
OpenPeerChat (Flutter) Offline peer-to-peer chat app built with Flutter
OpenPeerChat (React Native) Offline peer-to-peer chat app built with React Native
Skeptik Proof compression framework
Sensala Natural language processing system
CarbonFootprint API REST API for carbon footprint calculations
CarbonFootprint Mobile Mobile app for carbon footprint tracking
CrowdAlert Web Crowdsourced incident reporting platform
DebateAI AI-powered debate platform

StabilityNexus (19 projects):

Project Description
hodlCoin (Solidity) DeFi staking protocol on EVM
FairFund Decentralized funding platform
Gluon Ergo SDK SDK for Gluon gold-backed stablecoin on Ergo
Gluon (Solidity) Gluon stablecoin contracts for EVM
Gluon Ergo UI Frontend for Gluon on Ergo
BenefactionPlatform Ergo Fundraising platform on Ergo blockchain
Bene FundRaising EVM Fundraising platform on EVM
Clowder Decentralized NFT marketplace
Treee Token distribution tool
Hammer Auction House On-chain auction platform
RainDrop Token airdrop distribution tool
Fate (EVM) Prediction market on EVM
HackHub Hackathon management platform
Maelstrom Decentralized exchange protocol
Chainvoice On-chain invoicing system
Plaza Decentralized marketplace
VouchMe Decentralized reputation system
Destiny (EVM) Staking and rewards protocol
TNT Token and NFT toolkit

DjedAlliance (6 projects):

Project Description
Gluon Ergo WebUI Web interface for Gluon on Ergo
Djed Solidity Djed stablecoin implementation for EVM
Oracle Solidity Price oracle contracts for EVM
Oracle Backend Backend service for Djed price oracles
StablePay Stablecoin payment platform
Gluon Ergo Backend Contracts Backend smart contracts for Gluon on Ergo

How missing projects were identified

All repositories were fetched from the GitHub API for each of the three organizations. Non-fork, non-archived repositories were then compared against the existing entries in projects.js. Only genuinely missing projects were added.

Summary by CodeRabbit

Release Notes

  • New Features

    • Expanded project catalog with 60+ new projects from AOSSIE-Org, StabilityNexus, and DjedAlliance organizations.
    • Projects are now displayed in alphabetical order for improved browsing.
  • Style

    • Enhanced project card layout and visual styling for better presentation.

@coderabbitai
Copy link

coderabbitai bot commented Mar 9, 2026

📝 Walkthrough

Walkthrough

The projects dataset in src/helper/projects.js was heavily expanded with 40+ new project entries and four new logo imports; existing project entries were updated to reference specific logos. src/app/projects/page.jsx was refactored to deterministically sort projects by name and had JSX/layout formatting and link rendering adjustments. (50 words)

Changes

Cohort / File(s) Summary
Project Data Expansion
src/helper/projects.js
Added four logo imports (CarbonLogo, ScholarLogo, StabilityNexusLogo, DjedAllianceLogo), updated several existing entries to use specific logos, and appended 40+ new project objects (slug, name, description, link, logo, status, category, githubLink, discordLink). No export signature changes.
Projects UI & Sorting
src/app/projects/page.jsx
JSX reformatting and layout adjustments for cards and links, replaced random shuffle with deterministic slice().sort((a,b)=>a.name.localeCompare(b.name)), and updated Link/CardAction wrapping and className formatting. No API/signature changes.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 I hopped through code and found a spread so wide,

New logos stitched, new projects side by side.
From shuffled lists to names that gently sort,
The page now hosts a fuller, ordered court.
Tiny rabbit cheers—data blooms, a joyful stride!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding missing projects from three GitHub organizations (AOSSIE-Org, StabilityNexus, DjedAlliance) to the projects page, which is clearly supported by the 432-line addition to projects.js.
Linked Issues check ✅ Passed The PR fully addresses all coding requirements from issue #638: identifies missing projects from the three organizations, adds them to helper/projects.js, includes logos (CarbonLogo, ScholarLogo, StabilityNexusLogo, DjedAllianceLogo), and excludes forks/archived repos through GitHub API filtering.
Out of Scope Changes check ✅ Passed The changes in page.jsx involve refactoring the projects display component (formatting, sorting, and card layout adjustments) which directly supports the PR objective of properly displaying the newly added projects on the frontend.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
📝 Coding Plan for PR comments
  • Generate coding plan

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Muneerali199
Copy link
Author

sir @Zahnentferner ,please review it when you are free

Copy link
Collaborator

Choose a reason for hiding this comment

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

Remove this file.

screenshot.js Outdated
@@ -0,0 +1,31 @@
const puppeteer = require('puppeteer')
Copy link
Collaborator

Choose a reason for hiding this comment

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

This file seems unnecessary. If so, remove it.

Muneerali199 and others added 4 commits March 12, 2026 21:39
Co-authored-by: Muneerali199 <186174121+Muneerali199@users.noreply.github.com>
…-file

Remove stray screenshot PNG from repository root
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
src/app/projects/page.jsx (1)

113-126: Wire the action icons to the project-specific URLs.

This component now ignores the githubLink / discordLink data already present on each project and sends every Discord click to the same invite. If Cards is used again, the actions will not match the selected project.

Proposed fix
                 <Link
-                  href={project.link.href}
+                  href={project.githubLink ?? project.link.href}
                   aria-label="GitHub"
                   className="text-zinc-500 transition hover:text-black dark:text-zinc-400 dark:hover:text-white"
                 >
                   <FontAwesomeIcon icon={faGithub} className="h-6 w-6" />
                 </Link>
-                <Link
-                  href="https://discord.gg/hjUhu33uAn"
-                  aria-label="Discord"
-                  className="text-zinc-500 transition hover:text-[`#5865F2`] dark:text-zinc-400 dark:hover:text-[`#5865F2`]"
-                >
-                  <FontAwesomeIcon icon={faDiscord} className="h-6 w-6" />
-                </Link>
+                {project.discordLink && (
+                  <Link
+                    href={project.discordLink}
+                    aria-label="Discord"
+                    className="text-zinc-500 transition hover:text-[`#5865F2`] dark:text-zinc-400 dark:hover:text-[`#5865F2`]"
+                  >
+                    <FontAwesomeIcon icon={faDiscord} className="h-6 w-6" />
+                  </Link>
+                )}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/app/projects/page.jsx` around lines 113 - 126, The action icons are wired
to static URLs instead of the per-project links; update the Link elements in the
Cards rendering so they use each project's githubLink and discordLink props
rather than the hard-coded Discord invite (and ensure the GitHub Link uses
project.githubLink consistently instead of project.link.href if that's the
project field). Locate the Link elements rendering the FontAwesomeIcon (the
GitHub and Discord anchors) and replace the href values with the
project-specific fields (project.githubLink and project.discordLink), keep the
aria-labels and classNames as-is, and guard against missing values (optional:
only render the Link if the corresponding project.githubLink or
project.discordLink exists).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/app/projects/page.jsx`:
- Around line 184-188: The list uses product.slug as the React key but some
entries lack slugs, producing duplicate/undefined keys; update the map rendering
of CardProduct to use a guaranteed unique identifier (prefer a stable unique
field like product.id or product._id), and if that field may be missing add a
deterministic fallback (e.g. derived from product.name combined with an index)
so the key for each CardProduct in the products.map callback is always unique
and stable.

---

Nitpick comments:
In `@src/app/projects/page.jsx`:
- Around line 113-126: The action icons are wired to static URLs instead of the
per-project links; update the Link elements in the Cards rendering so they use
each project's githubLink and discordLink props rather than the hard-coded
Discord invite (and ensure the GitHub Link uses project.githubLink consistently
instead of project.link.href if that's the project field). Locate the Link
elements rendering the FontAwesomeIcon (the GitHub and Discord anchors) and
replace the href values with the project-specific fields (project.githubLink and
project.discordLink), keep the aria-labels and classNames as-is, and guard
against missing values (optional: only render the Link if the corresponding
project.githubLink or project.discordLink exists).

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 046e87ca-09ac-45aa-981d-9971b5616300

📥 Commits

Reviewing files that changed from the base of the PR and between 5da5d28 and d5dda89.

⛔ Files ignored due to path filters (1)
  • projects-screenshot.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • src/app/projects/page.jsx

Comment on lines +184 to +188
{projects
.slice()
.sort((a, b) => a.name.localeCompare(b.name))
.map((product) => (
<CardProduct key={product.slug} product={product} />
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Use a guaranteed unique key for CardProduct.

src/helper/projects.js still contains entries without a slug, so key={product.slug} will produce repeated undefined keys for part of this list. That can cause React to reuse the wrong card instance during reconciliation.

Proposed fix
-              .map((product) => (
-                <CardProduct key={product.slug} product={product} />
+              .map((product) => (
+                <CardProduct
+                  key={product.slug ?? product.name}
+                  product={product}
+                />
               ))}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{projects
.slice()
.sort((a, b) => a.name.localeCompare(b.name))
.map((product) => (
<CardProduct key={product.slug} product={product} />
{projects
.slice()
.sort((a, b) => a.name.localeCompare(b.name))
.map((product) => (
<CardProduct
key={product.slug ?? product.name}
product={product}
/>
))}
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/app/projects/page.jsx` around lines 184 - 188, The list uses product.slug
as the React key but some entries lack slugs, producing duplicate/undefined
keys; update the map rendering of CardProduct to use a guaranteed unique
identifier (prefer a stable unique field like product.id or product._id), and if
that field may be missing add a deterministic fallback (e.g. derived from
product.name combined with an index) so the key for each CardProduct in the
products.map callback is always unique and stable.

@Muneerali199
Copy link
Author

Done sir @Zahnentferner I removed both file

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.

Projects tab is missing many projects

3 participants