Codether - это полнофункциональное веб-приложение, аналог PasteBin, позволяющее пользователям сохранять любой код до 10МБ без регистрации. Приложение также предоставляет открытое API и использует редактор Monaco Editor (аналог Visual Studio Code). Особенности
- Сохранение кода: Пользователи могут сохранять любой код до 10МБ.
- Без регистрации: Не требуется регистрация для использования сервиса.
- Monaco Editor: Встроенный редактор кода, аналогичный Visual Studio Code.
- Открытое API: API для взаимодействия с приложением.
- Добавление сокетов для редактирования несколькими пользователями: Возможность совместного редактирования кода в реальном времени. ⌛
- Файловая архитектура: Поддержка работы с файлами и директориями, что позволит пользователям организовывать свои проекты более эффективно. ❌
- Маштабируемая БД: Перевод хранения кода с PostgreSQL на S3 ✅
- Backend: NestJS (TypeScript)
- Frontend: VueJS (TypeScript)
- SSR: Nuxt
- DB: PostgeSQL, S3, Redis
- Broker: Apache Kafka
- Сохранение кода: Пользователи могут сохранять любой код до 10МБ.
- Без регистрации: Не требуется регистрация для использования сервиса.
- Monaco Editor: Встроенный редактор кода, аналогичный Visual Studio Code.
- Открытое API: API для взаимодействия с приложением.
Убедитесь, что у вас установлены следующие программы:
- Node.js (рекомендуется версия LTS)
- Yarn
git clone https://github.com/yourusername/codether.git
cd codether
Установка зависимостей
cd frontend
yarn install
cd ../backend
yarn install
Перейдите в директорию server и запустите сервер:
cd backend
yarn start
Перейдите в директорию client и запустите сервер:
cd frontend
yarn serve
Приложение будет доступно по адресу http://localhost:8080. Открытое API
POST /api/code/create - Сохранить новый код.
POST /api/code/get/:shortid - Получить сохраненный код по ID.
POST /api/code/update/:shortid - Обновление кода
curl -X POST http://localhost:3000/api/code/create -H "Content-Type: application/json" -d '{"code": "console.log(\"Hello World\");"}'
Структура проекта
bash
codether/
├── frontend/ # VueJS frontend
│ ├── src/
│ ├── public/
│ └── ...
├── backend/ # NestJS backend
│ ├── src/
│ ├── test/
│ └── ...
├── README.md
└── package.json
Если вы хотите внести вклад в проект, пожалуйста, создайте pull request или откройте issue в репозитории.
Этот проект лицензирован под лицензией MIT. Подробнее см. в файле LICENSE.