mirror of
https://github.com/R0m1k3/podcastic.git
synced 2026-10-24 07:28:04 +02:00
feat: rewrite backend in Rust (axum)
Replace the Node/Express backend with a Rust implementation that keeps the same REST API, MongoDB collections and Redis cache keys, so existing users, subscriptions and progress keep working. - axum + mongodb + redis, bcrypt and HS256 JWT compatible with old data - RSS parsing, iTunes discovery/trending, background sync (1h / 4h) - Docker image now builds a static Rust binary on debian-slim - CI runs cargo tests before publishing the image - compose uses pull_policy: always so a restart picks up the new image Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0a91f6ec2c
commit
1028b7968c
41 files changed
+2280
-2239
No files matched your search
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"name": "podcastic-backend",
|
||||
"version": "1.0.0",
|
||||
"description": "Podcastic - Multi-user podcast streaming application backend",
|
||||
"main": "dist/index.js",
|
||||
"scripts": {
|
||||
"dev": "tsx watch src/index.ts",
|
||||
"build": "tsc",
|
||||
"start": "node dist/index.js",
|
||||
"lint": "eslint src",
|
||||
"test": "vitest"
|
||||
},
|
||||
"keywords": ["podcast", "streaming", "audio"],
|
||||
"author": "",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"express": "^4.18.2",
|
||||
"mongoose": "^7.5.0",
|
||||
"redis": "^4.6.11",
|
||||
"jsonwebtoken": "^9.0.0",
|
||||
"bcryptjs": "^2.4.3",
|
||||
"dotenv": "^16.3.1",
|
||||
"cors": "^2.8.5",
|
||||
"zod": "^3.22.4",
|
||||
"rss-parser": "^3.12.0",
|
||||
"axios": "^1.5.0",
|
||||
"node-cron": "^3.0.3",
|
||||
"helmet": "^7.1.0",
|
||||
"express-rate-limit": "^7.1.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/express": "^4.17.20",
|
||||
"@types/node": "^20.8.0",
|
||||
"@types/cors": "^2.8.17",
|
||||
"@types/jsonwebtoken": "^9.0.4",
|
||||
"@types/bcryptjs": "^2.4.2",
|
||||
"@types/node-cron": "^3.0.11",
|
||||
"typescript": "^5.2.2",
|
||||
"tsx": "^4.1.0",
|
||||
"eslint": "^9.18.0",
|
||||
"@eslint/js": "^9.18.0",
|
||||
"typescript-eslint": "^8.22.0",
|
||||
"vitest": "^0.34.6"
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user