|
1 | 1 | # Open Source Issues To Publish |
2 | 2 |
|
| 3 | +This document outlines 20+ contribution opportunities for the Stellar Goal Vault repository. |
| 4 | + |
3 | 5 | ## 1. Implement Freighter-signed pledge transactions |
| 6 | +**Difficulty:** Advanced |
| 7 | +**Estimated Effort:** 2 weeks |
| 8 | +**Files to Modify:** `frontend/src/components/PledgeButton.tsx`, `frontend/src/services/stellar.ts` |
| 9 | +**Tags:** enhancement, soroban |
4 | 10 |
|
5 | | -Labels: |
6 | | -- enhancement |
7 | | -- help wanted |
8 | | -- soroban |
| 11 | +## 2. Sync campaign activity from Soroban RPC events |
| 12 | +**Difficulty:** Intermediate |
| 13 | +**Estimated Effort:** 1 week |
| 14 | +**Files to Modify:** `backend/src/workers/indexer.ts`, `backend/src/db/schema.sql` |
| 15 | +**Tags:** backend, indexer |
9 | 16 |
|
10 | | -Why it matters: |
11 | | -- this is the biggest missing piece between MVP and real Stellar usage |
| 17 | +## 3. Add filters and sort presets to the dashboard |
| 18 | +**Difficulty:** Beginner |
| 19 | +**Estimated Effort:** 2 days |
| 20 | +**Files to Modify:** `frontend/src/pages/Dashboard.tsx`, `frontend/src/components/FilterBar.tsx` |
| 21 | +**Tags:** frontend, ux, good first issue |
12 | 22 |
|
13 | | -Acceptance criteria: |
14 | | -- contributors sign pledge transactions with Freighter |
15 | | -- UI shows transaction hash and status |
16 | | -- timeline displays signed transaction metadata |
17 | | -- backend can reconcile final pledge state after submission |
| 23 | +## 4. Update README with local setup instructions |
| 24 | +**Difficulty:** Beginner |
| 25 | +**Estimated Effort:** 1 day |
| 26 | +**Files to Modify:** `README.md` |
| 27 | +**Tags:** docs, good first issue |
18 | 28 |
|
19 | | -## 2. Sync campaign activity from Soroban RPC events |
| 29 | +## 5. Implement comprehensive unit tests for Campaign creation |
| 30 | +**Difficulty:** Intermediate |
| 31 | +**Estimated Effort:** 3 days |
| 32 | +**Files to Modify:** `backend/tests/unit/campaign.test.ts` |
| 33 | +**Tags:** backend, testing |
20 | 34 |
|
21 | | -Labels: |
22 | | -- backend |
23 | | -- indexer |
24 | | -- good first issue |
| 35 | +## 6. Fix mobile layout overflow on Campaign Details page |
| 36 | +**Difficulty:** Beginner |
| 37 | +**Estimated Effort:** 1 day |
| 38 | +**Files to Modify:** `frontend/src/styles/campaignDetails.css` |
| 39 | +**Tags:** frontend, css, good first issue |
25 | 40 |
|
26 | | -Acceptance criteria: |
27 | | -- background worker polls or subscribes to contract events |
28 | | -- local SQLite state stays aligned with on-chain campaign actions |
29 | | -- duplicate events are handled safely |
| 41 | +## 7. Refactor Error Handling in API Gateway |
| 42 | +**Difficulty:** Intermediate |
| 43 | +**Estimated Effort:** 1 week |
| 44 | +**Files to Modify:** `backend/src/api/gateway.ts`, `backend/src/utils/errors.ts` |
| 45 | +**Tags:** backend, refactor |
30 | 46 |
|
31 | | -## 3. Add filters and sort presets to the dashboard |
| 47 | +## 8. Add GitHub Actions CI for running E2E Playwright tests |
| 48 | +**Difficulty:** Advanced |
| 49 | +**Estimated Effort:** 1.5 weeks |
| 50 | +**Files to Modify:** `.github/workflows/e2e.yml`, `playwright.config.ts` |
| 51 | +**Tags:** ci, testing |
| 52 | + |
| 53 | +## 9. Create a Dark Mode toggle in the Frontend |
| 54 | +**Difficulty:** Intermediate |
| 55 | +**Estimated Effort:** 3 days |
| 56 | +**Files to Modify:** `frontend/src/App.tsx`, `frontend/tailwind.config.js` |
| 57 | +**Tags:** frontend, ux |
| 58 | + |
| 59 | +## 10. Add ESLint and Prettier pre-commit hooks using Husky |
| 60 | +**Difficulty:** Beginner |
| 61 | +**Estimated Effort:** 1 day |
| 62 | +**Files to Modify:** `package.json`, `.husky/pre-commit` |
| 63 | +**Tags:** tooling, good first issue |
| 64 | + |
| 65 | +## 11. Implement Campaign Claim logic for successful campaigns |
| 66 | +**Difficulty:** Advanced |
| 67 | +**Estimated Effort:** 2 weeks |
| 68 | +**Files to Modify:** `contracts/src/campaign.rs`, `contracts/src/lib.rs` |
| 69 | +**Tags:** soroban, rust |
| 70 | + |
| 71 | +## 12. Create API endpoint for fetching campaign analytics |
| 72 | +**Difficulty:** Intermediate |
| 73 | +**Estimated Effort:** 1 week |
| 74 | +**Files to Modify:** `backend/src/controllers/analytics.ts`, `backend/src/routes.ts` |
| 75 | +**Tags:** backend, api |
| 76 | + |
| 77 | +## 13. Localize Frontend strings to Spanish |
| 78 | +**Difficulty:** Beginner |
| 79 | +**Estimated Effort:** 2 days |
| 80 | +**Files to Modify:** `frontend/src/i18n/es.json` |
| 81 | +**Tags:** frontend, i18n, good first issue |
| 82 | + |
| 83 | +## 14. Migrate SQLite to PostgreSQL for production readiness |
| 84 | +**Difficulty:** Advanced |
| 85 | +**Estimated Effort:** 3 weeks |
| 86 | +**Files to Modify:** `backend/src/db/connection.ts`, `docker-compose.yml` |
| 87 | +**Tags:** backend, database |
| 88 | + |
| 89 | +## 15. Standardize button components across the application |
| 90 | +**Difficulty:** Intermediate |
| 91 | +**Estimated Effort:** 3 days |
| 92 | +**Files to Modify:** `frontend/src/components/common/Button.tsx`, `frontend/src/pages/*.tsx` |
| 93 | +**Tags:** frontend, design-system |
| 94 | + |
| 95 | +## 16. Add rate limiting middleware to public API routes |
| 96 | +**Difficulty:** Intermediate |
| 97 | +**Estimated Effort:** 2 days |
| 98 | +**Files to Modify:** `backend/src/middleware/rateLimiter.ts` |
| 99 | +**Tags:** backend, security |
| 100 | + |
| 101 | +## 17. Design and implement a 404 Not Found page |
| 102 | +**Difficulty:** Beginner |
| 103 | +**Estimated Effort:** 1 day |
| 104 | +**Files to Modify:** `frontend/src/pages/NotFound.tsx`, `frontend/src/App.tsx` |
| 105 | +**Tags:** frontend, ux |
| 106 | + |
| 107 | +## 18. Write architecture documentation for Indexer service |
| 108 | +**Difficulty:** Intermediate |
| 109 | +**Estimated Effort:** 1 week |
| 110 | +**Files to Modify:** `docs/INDEXER_ARCHITECTURE.md` |
| 111 | +**Tags:** docs, architecture |
| 112 | + |
| 113 | +## 19. Optimize Docker image sizes by utilizing multi-stage builds |
| 114 | +**Difficulty:** Intermediate |
| 115 | +**Estimated Effort:** 3 days |
| 116 | +**Files to Modify:** `Dockerfile`, `backend/Dockerfile` |
| 117 | +**Tags:** devops, docker |
32 | 118 |
|
33 | | -Labels: |
34 | | -- frontend |
35 | | -- ux |
36 | | -- good first issue |
| 119 | +## 20. Implement JWT refresh token rotation |
| 120 | +**Difficulty:** Advanced |
| 121 | +**Estimated Effort:** 2 weeks |
| 122 | +**Files to Modify:** `backend/src/controllers/auth.ts`, `backend/src/middleware/auth.ts` |
| 123 | +**Tags:** backend, security |
37 | 124 |
|
38 | | -Acceptance criteria: |
39 | | -- filter by asset and status |
40 | | -- sort by deadline, amount raised, and newest |
41 | | -- query params preserve dashboard state |
| 125 | +## 21. Add user avatar upload feature |
| 126 | +**Difficulty:** Intermediate |
| 127 | +**Estimated Effort:** 1 week |
| 128 | +**Files to Modify:** `frontend/src/components/Profile.tsx`, `backend/src/controllers/user.ts` |
| 129 | +**Tags:** fullstack, feature |
0 commit comments