Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
de15b3a
fmt
elliotBraem Mar 26, 2025
93d75ef
added stablewatch, made piotr and stablewatch
codingshot Mar 27, 2025
c2fe01b
added uae to rak dao news
codingshot Apr 2, 2025
6360253
fmt
elliotBraem Apr 4, 2025
e03b3f0
better db logging
elliotBraem Apr 4, 2025
fe228c9
update memory bank
elliotBraem Apr 4, 2025
4b24929
update clinerules
elliotBraem Apr 4, 2025
65c7b69
Upgrade DB service & production command (#118)
elliotBraem Apr 7, 2025
98fb5f4
make db:migrate accessible
elliotBraem Apr 7, 2025
7ff3499
fix command
elliotBraem Apr 7, 2025
acedc5e
fix dev script and allowed origins
elliotBraem Apr 7, 2025
bd77c8b
add migrations
elliotBraem Apr 7, 2025
62adc6f
fix mimetypes and assets in production
elliotBraem Apr 7, 2025
8936822
Migrate schema and improve dev server (#119)
elliotBraem Apr 7, 2025
9350cc0
add SEI and update rak
elliotBraem Apr 7, 2025
846f895
fix leaderboard and dates
elliotBraem Apr 8, 2025
ed6f189
fix created at query
elliotBraem Apr 8, 2025
363313d
cast to date
elliotBraem Apr 8, 2025
a388841
point to railway
elliotBraem Apr 8, 2025
5a74537
fix url
elliotBraem Apr 8, 2025
39ff461
add RSS for desci and grants
elliotBraem Apr 9, 2025
2726555
add grants
elliotBraem Apr 9, 2025
b779eec
adds a catch-all feed (#122)
elliotBraem Apr 10, 2025
2589d55
added more feeds monad, cryptoexploits, btcintern artbitrum base
codingshot Apr 21, 2025
b4ac038
fix config
elliotBraem Apr 21, 2025
0b1dbed
add celo and afrobeats
elliotBraem Apr 28, 2025
590a88b
nearhacks channel
elliotBraem Apr 28, 2025
7c3d033
added back to stablecoins feed since stablewatch forked their own
codingshot May 1, 2025
2b60aeb
africa and afrobeats
elliotBraem May 1, 2025
ed56491
Remove duplicate
elliotBraem May 1, 2025
0e6d307
fix channel ids
elliotBraem May 2, 2025
37878b6
added activity dao feed
codingshot May 2, 2025
c294a02
added network state news feed
codingshot May 4, 2025
2610688
added vietnam channel
codingshot May 5, 2025
3fcc8d6
added cryptofolio india feed
codingshot May 7, 2025
7a339b8
trying to configure nft feed and fix vietnam title
codingshot May 9, 2025
3bcefec
fmt
elliotBraem May 9, 2025
d707066
added public goods feed
codingshot May 10, 2025
cb091bf
wip
elliotBraem May 12, 2025
febe110
mount routes
elliotBraem May 12, 2025
2a1de86
fmt
elliotBraem May 12, 2025
b8901eb
fix timerange queries
elliotBraem May 12, 2025
fd1b5f2
added aptos news
codingshot May 14, 2025
2b57a45
configured giveth galaxy
codingshot May 14, 2025
4657266
added shitzu feed, raw dogged transofmration, need to change because …
codingshot May 19, 2025
8c42c4d
trying to fix shitzu
codingshot May 19, 2025
7283488
Update curate.config.json
codingshot May 21, 2025
8b8e69a
added open social telegam with mim as approver
codingshot May 21, 2025
054291b
fmt
elliotBraem May 21, 2025
085a9b0
Add lukso, xpostbounty1, and afrobeats rss (#163)
elliotBraem May 23, 2025
4e87eae
xpost
elliotBraem May 23, 2025
46f7895
fix link
elliotBraem May 23, 2025
009247d
added pakistan feed and add seef to a bunch of feeds
codingshot May 26, 2025
4642420
Update curate.config.json to do nft club in feed
codingshot May 28, 2025
297f798
vietnam rss
elliotBraem May 30, 2025
1d722ed
Updated vietnam feed with pho dao news not sure if transofrmation is …
codingshot May 31, 2025
ad6e930
africa rss
elliotBraem May 31, 2025
9d0b28d
adds fffirehose feed
elliotBraem Jun 5, 2025
20d2725
better error
elliotBraem Jun 5, 2025
8a8757a
correct thread
elliotBraem Jun 5, 2025
76736f9
Staging (#116)
elliotBraem Jun 10, 2025
d0bf3d7
Adds overwrite script and timestamps migration (#171)
elliotBraem Jun 10, 2025
268a1dc
Fix timestamp conversion (#172)
elliotBraem Jun 10, 2025
ebf386c
Enable self service (#175)
elliotBraem Jun 20, 2025
035d53c
fix config pat
elliotBraem Jun 20, 2025
fbfd4c9
fix: process is not defined
elliotBraem Jun 20, 2025
6811463
fix: transparent toasts (#180)
itexpert120 Jun 20, 2025
4363b53
fix: posting to showing when there are no feed distributors (#182)
itexpert120 Jun 20, 2025
fee0deb
Upgrade staging (#181)
elliotBraem Jun 20, 2025
5080606
fix migration script
elliotBraem Jun 20, 2025
ec3e3cd
Upgrade staging (#184)
elliotBraem Jun 21, 2025
75ebdb6
force mainnet
elliotBraem Jun 21, 2025
3d2bb77
Upgrade staging (#191)
elliotBraem Jun 23, 2025
c881c42
Upgrade staging (#195)
elliotBraem Jun 24, 2025
7667141
add PUBLIC_NETWORK
elliotBraem Jun 24, 2025
586dc66
Fix: leaderboard mobile responsiveness (#197)
itexpert120 Jun 24, 2025
1296aee
fix id
elliotBraem Jun 24, 2025
54e28a7
lgoger transportation
elliotBraem Jun 24, 2025
dad6a8d
use pretty
elliotBraem Jun 24, 2025
0099664
condense logger
elliotBraem Jun 24, 2025
b632b19
fix log
elliotBraem Jun 24, 2025
e63e1f8
responsive moderation
elliotBraem Jun 24, 2025
5d9288c
feed page revamp
elliotBraem Jun 24, 2025
58a528a
auth flow
elliotBraem Jun 24, 2025
5761e4a
nitpicks
elliotBraem Jun 24, 2025
0930ca7
Upgrade staging (#199)
elliotBraem Jun 24, 2025
c411c45
Adds processing queue with retries and processing tab (#200)
elliotBraem Jun 25, 2025
30d387a
Upgrade staging (#199)
elliotBraem Jun 24, 2025
a709612
Merge branch 'main' of https://github.com/PotLock/curatedotfun into s…
elliotBraem Jun 25, 2025
abbf322
try node:crypto
elliotBraem Jun 25, 2025
377074a
plugin fixes
elliotBraem Jun 25, 2025
13aadc3
adds plugin to processing step
elliotBraem Jun 25, 2025
6515c0f
step name
elliotBraem Jun 25, 2025
36e7d8c
prettierignore
elliotBraem Jun 25, 2025
449ade1
fix dependency
elliotBraem Jun 25, 2025
a870322
update rspack and cjs
elliotBraem Jun 25, 2025
1252e1b
cjf
elliotBraem Jun 25, 2025
d35d944
nitpicks
elliotBraem Jun 25, 2025
d7ac2fa
Adds processing queue (#201)
elliotBraem Jun 25, 2025
72b1360
fix sql
elliotBraem Jun 25, 2025
53e87b9
fix sql
elliotBraem Jun 25, 2025
3c4fbfb
processor service
elliotBraem Jun 25, 2025
fae40fd
adds schema reference
elliotBraem Jun 25, 2025
c77ef5f
switch to Json type
elliotBraem Jun 25, 2025
27fa3ec
steperror
elliotBraem Jun 25, 2025
0f9e741
logging
elliotBraem Jun 25, 2025
84fb6aa
logger
elliotBraem Jun 25, 2025
1d540b1
fmt
elliotBraem Jun 25, 2025
ee6fb49
fix dev
elliotBraem Jun 25, 2025
5eb72a7
healing step, fix moderator
elliotBraem Jun 25, 2025
4fc5ea8
args logs
elliotBraem Jun 25, 2025
4dcc2f0
curator notes
elliotBraem Jun 25, 2025
744d7a8
convert to submission
elliotBraem Jun 25, 2025
0694b59
enhanced module federation
elliotBraem Jun 25, 2025
fc0bb5a
moderation id
elliotBraem Jun 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
94 changes: 71 additions & 23 deletions .clinerules
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

### Package Management
- Use pnpm for package management (pnpm@10.6.4)
- Use Corepack for package manager versioning
- Bun is used for running scripts and tests
- Use Corepack for package manager version consistency
- Bun is used for running scripts and tests only
- Save type errors and dependency installations until ready to address them

### Database
Expand All @@ -22,15 +22,21 @@

### Code Organization
- Use service-based architecture
- Implement plugin system for extensibility
- Implement plugin system with module federation for extensibility
- Follow clean architecture principles
- Use TypeScript strict mode

### Monorepo Structure
- Use Turborepo for build orchestration and caching
- Bun workspaces for dependency management
- pnpm workspaces for dependency management
- Separate backend and frontend as distinct workspaces

### Build System
- Use RSPack for backend building
- Use RSBuild for frontend building
- Support for module federation
- Optimized for TypeScript

## Project Preferences

### Code Style
Expand All @@ -51,6 +57,18 @@
- Handle nested stringified JSON
- Implement proper error handling for malformed JSON

### Deployment
- Deploy to Railway using Docker containers
- Use Kubernetes for orchestration
- Implement CI/CD with GitHub Actions
- Use environment-specific configurations

### Security
- Implement proper database security measures
- Plan for Web3Auth integration in frontend
- Use secure headers and CORS policies
- Implement audit logging for sensitive operations

## Critical Implementation Paths

### Content Flow
Expand All @@ -60,8 +78,16 @@
4. DistributionService → Distributor-specific transforms
5. Distribution to configured channels

### Recap Flow
1. Scheduler service creates jobs based on feed configuration
2. External scheduler triggers recap job via HTTP endpoint
3. Recap job fetches approved submissions since last run
4. ProcessorService applies batch transformations
5. Distribution to configured channels
6. Update last successful completion timestamp

### Plugin System
1. PluginService loads plugins at runtime
1. PluginService loads plugins at runtime via module federation
2. Plugins register with appropriate service
3. Services use plugins based on configuration
4. Error handling and recovery for plugin failures
Expand All @@ -71,21 +97,43 @@
2. Transaction support with retry logic
3. Error handling and connection management
4. Type-safe queries with Drizzle ORM

## Known Challenges

### Testing Infrastructure
- Current testing approach relies too heavily on mocks
- Need to implement Docker-based testing infrastructure
- Need to refactor tests to use real database
- Need to implement component tests for key flows

### PostgreSQL Migration
- Migration from SQLite to PostgreSQL in progress
- Need to update database service implementation
- Need to migrate existing data

### Performance Optimization
- Need to optimize resource usage
- Need to implement performance monitoring
- Need to identify and address bottlenecks
5. Repository pattern for domain-specific operations
6. State tracking for external scheduled jobs

## Current Focus Areas

### Recap Scheduling System
- Implementing reliable recap generation for feeds
- Using external scheduler service for job management
- Tracking job state in the database for resilience
- Supporting both cron expressions and interval-based schedules
- Providing UI for managing recap configurations
- Handling process restarts and maintaining job consistency

### Comprehensive Error Handling
- Implementing granular error types across the application
- Developing consistent error recovery mechanisms
- Enhancing error logging and monitoring
- Creating user-friendly error messages
- Implementing graceful degradation strategies

### Configuration in Database
- Migrating from JSON-based configuration to database storage
- Implementing configuration versioning
- Creating admin interface for configuration management
- Ensuring backward compatibility
- Implementing validation and security measures

### Test Coverage
- Expanding component tests for key flows
- Implementing integration tests for external services
- Adding E2E tests for critical user journeys
- Improving test infrastructure with Docker
- Implementing performance testing

### Web3Auth Security
- Implementing secure authentication with Web3Auth
- Adding database protections for user data
- Creating proper access control mechanisms
- Implementing audit logging
- Ensuring compliance with security best practices
4 changes: 3 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

# dependencies
node_modules
apps/**/node_modules
.pnp
**/.pnp.js
**/.yarn/install-state.gz
Expand All @@ -18,6 +19,7 @@ out
# production
build
**/**/dist
apps/**/dist

# misc
**/.DS_Store
Expand Down Expand Up @@ -81,4 +83,4 @@ frontend/**/*.sw?
fly.toml

# workspace
.github
.github
3 changes: 1 addition & 2 deletions .github/workflows/deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:

strategy:
matrix:
platform: [ linux/amd64 ]
platform: [linux/amd64]

steps:
- name: Checkout code
Expand Down Expand Up @@ -43,4 +43,3 @@ jobs:
platforms: ${{ matrix.platform }}
push: true
tags: ghcr.io/${{ env.REPO }}:${{ github.sha }}

10 changes: 5 additions & 5 deletions .github/workflows/near-rewards.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: NEAR Protocol Rewards Tracking
on:
schedule:
- cron: '0 */12 * * *' # Every 12 hours
workflow_dispatch: # Manual trigger
- cron: "0 */12 * * *" # Every 12 hours
workflow_dispatch: # Manual trigger
push:
branches: [ main ] # Start on main branch updates
branches: [main] # Start on main branch updates

jobs:
calculate-rewards:
Expand All @@ -17,12 +17,12 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '18'
node-version: "18"

- name: Calculate Rewards
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPO: ${{ github.repository }}
run: |
npm install -g near-protocol-rewards@latest
near-protocol-rewards calculate
near-protocol-rewards calculate
31 changes: 31 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# name: Release

# on:
# push:
# branches:
# - main

# jobs:
# release:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: oven-sh/setup-bun@v2
# - run: bun install
# - run: bun run build
# - name: Setup Node.js
# uses: actions/setup-node@v4
# with:
# node-version: "lts/*"
# registry-url: 'https://registry.npmjs.org'
# - name: Publish
# env:
# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
# run: |
# for pkg in packages/*; do
# if [ -f "$pkg/package.json" ]; then
# cd $pkg
# npm publish --access public || true
# cd ../..
# fi
# done
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,13 @@ jobs:
run: pnpm install

- name: Migrate and seed DB
working-directory: ./backend
working-directory: ./api
env:
DATABASE_URL: postgresql://postgres:postgres@localhost:5433/test
run: pnpm run db:migrate

- name: Seed DB
working-directory: ./backend
working-directory: ./api
env:
DATABASE_URL: postgresql://postgres:postgres@localhost:5433/test
run: bun ./test/setup/seed-test.ts
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
.yarn/install-state.gz
/.unlighthouse
**/.pnpm-store
node-compile-cache

# testing
/coverage
Expand Down Expand Up @@ -50,4 +51,4 @@ package-lock.json
bun.lockb

# JetBrains
.idea/
.idea/
3 changes: 2 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@ coverage
node_modules
.turbo
.next
.docusaurus
.docusaurus
packages/shared-db/migrations
16 changes: 16 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"cSpell.words": [
"crowdsource",
"ilhagirl",
"jpollock",
"karmaticacid",
"morica",
"murica",
"oklch",
"plugrel",
"plungrel",
"POTLOCK",
"SCURATE",
"yegorgolovnia"
]
}
72 changes: 0 additions & 72 deletions Dockerfile

This file was deleted.

Loading
Loading