sahilverse/sahil-dahal-devio

GitHub: sahilverse/sahil-dahal-devio

一个集社区互动、编程挑战、CTF实验室和代码沙箱于一体的开发者社区平台。

Stars: 1 | Forks: 0

# Devio - IT 社区平台 Dev.io 是一个以开发者为中心的社区平台,提供帖子、社区、编程挑战、CTF 实验室、活动和实时协作功能。用户可以加入社区、解决问题、获取 aura 积分、在沙箱中运行代码、聊天并自定义自己的信息流——所有这些都在一个统一的生态系统中完成。 ## 本项目正在积极开发中。因此结构和功能可能会频繁变更。本 README 将相应更新。 ## 本文档仅涵盖目前已实现的功能和结构。 ## 🏗️ 项目架构 这是一个基于 [Turborepo](https://turborepo.com/) 的 monorepo,使用 [pnpm](https://pnpm.io/) 作为包管理器。 ### 应用 - **`backend`** - 使用 Prisma ORM 的 Node.js/Express REST API - **`frontend`** - 用于 Web 界面的 Next.js 16 React 应用程序 - **`code-sandbox`** - 支持多种编程语言的基于 Docker 的代码执行服务 - **`judge0`** - 代码评判和评估服务集成 ### 共享包 - **`@devio/eslint-config`** - 共享 ESLint 配置 - **`@devio/typescript-config`** - 共享 TypeScript 配置 - **`@devio/zod`** - 共享 Zod 验证模式 - **`@devio/boilerplate-generator`** - 代码样板生成工具 ## 🛠️ 技术栈 ### 后端 - **运行时**: Node.js (v18+) - **框架**: Express.js - **数据库**: PostgreSQL with Prisma ORM - **缓存**: Redis - **任务队列**: BullMQ - **认证**: JWT with bcryptjs (已完成), OAuth (待定) - **邮件**: Nodemailer - **API 文档**: Swagger/OpenAPI ### 前端 - **框架**: Next.js 16 - **UI 库**: React 19 - **语言**: TypeScript ### 代码执行 - **容器化**: Docker - **支持语言**: C++, Java, Node.js, Python - **执行客户端**: Dockerode ## 📋 前置条件 - Node.js >= 18 - pnpm >= 10.24.0 - Docker (用于代码沙箱) - PostgreSQL 数据库 - Redis 缓存 ## 🚀 快速开始 ### 安装 ``` # 安装依赖 pnpm install # 设置环境变量 # 将 backend 和 frontend 目录中的 .env.example 复制到 .env # 配置 database, Redis 和其他服务 ``` ### 开发 在开发模式下启动所有服务: ``` # 以 watch 模式运行所有 apps 和 packages pnpm dev ``` 或者开发特定应用: ``` # 仅 Frontend pnpm dev --filter @devio/frontend # 仅 Backend pnpm dev --filter @devio/backend # 仅 Code sandbox pnpm dev --filter @devio/code-sandbox ``` ### 构建 构建所有应用和包: ``` pnpm build ``` 构建特定应用: ``` pnpm build --filter @devio/backend pnpm build --filter @devio/frontend ``` ### 数据库迁移 ``` # 运行 migrations pnpm --filter @devio/backend exec prisma migrate dev # 重置 database pnpm --filter @devio/backend exec prisma migrate reset # 在 Prisma Studio 中查看 database pnpm --filter @devio/backend exec prisma studio ``` ## 📦 Docker 部署 ### 编排服务 `docker-compose.yml` 编排了所有服务: ``` # 构建并启动所有 containers docker-compose up -d # 停止所有 services docker-compose down # 查看 logs docker-compose logs -f ``` ## 🔍 代码质量 ### 代码检查 ``` pnpm lint ``` ### 类型检查 ``` pnpm check-types ``` ### 格式化 ``` pnpm format ``` ## 📝 项目结构 ``` devio/ ├── apps/ │ ├── backend/ # Express API server │ ├── frontend/ # Next.js frontend │ ├── code-sandbox/ # Docker execution service │ └── judge0/ # Judge0 configuration ├── packages/ │ ├── boilerplate-generator/ # Code template generation │ ├── eslint-config/ # Shared ESLint config │ ├── typescript-config/ # Shared TypeScript config │ └── zod/ # Shared validation schemas ├── infra/ # Infrastructure configs ├── docker-compose.yml # Multi-container orchestration ├── turbo.json # Turborepo configuration └── pnpm-workspace.yaml # Workspace configuration ```
标签:CISA项目, CTF靶场, Dev.io, DNS解析, Docker, GNU通用公共许可证, IPv6支持, IT社区平台, MITM代理, Node.js, PostgreSQL, React, Redis, Syscalls, Turborepo, TypeScript, 代码执行引擎, 代码沙箱, 在线编程, 安全插件, 安全防御评估, 实时协作, 开发者社区, 开源项目, 技术博客, 搜索引擎查询, 测试用例, 社交网络, 积分系统, 自动化攻击, 请求拦截