A monorepo for DaneshBaz: a collaborative research and document versioning platform. Aka a "GitHub for Research Papers".
This repository contains the web frontend, the GraphQL backend, a notification consumer service, and deployment/monitoring examples.
frontend/— Next.js application (React) with UI components, pages and GraphQL client code.backend/— NestJS GraphQL API, domain logic, and data models.notification/— NestJS consumer service for background notifications.stack/— Docker Compose files for development and production orchestration.monitoring-compose.yml— Prometheus + Grafana compose for monitoring.- Submodules:
latexml/— LaTeXML plugin (git submodule)diff-match-patch/— diff-match-patch (git submodule)
Hi everyone,
I’m Mojtaba Valipour, the Project Manager and Designer of the DaneshBaz platform. I started this project around 2021 with the goal of creating a collaborative research platform that enables researchers to manage their documents and collaborate effectively — even without mutual trust. My vision was to make global collaboration easier, especially in cases where working with new or unknown collaborators is challenging. Too often, if one person acts dishonestly, there’s no way to trace responsibility, and everyone involved ends up affected. DaneshBaz was designed to change that.
This project has been a collective effort, and I want to express my sincere gratitude to all those who contributed — including, but not limited to, Mehdi Moozeh (in particular as you can see he indeed contributed a lot), Ethel Zlotnik (UI/UX designer), Farzad Tabashir, Min Kang, Bhavik Makhija, Parsa Nasiri Mehr, Alexander Sharp, Goncha Sadayeva and many others who supported us along the way.
The development of DaneshBaz was self-funded, with more than $15,000 which I invested in servers, domain names, and development time. I still believe there is significant potential in this idea and hope to see it continue to evolve. However, looking back, I believe our decision to build the system entirely from scratch was not the most efficient approach.
I would love to see this project grow further and welcome any form of collaboration or continuation by others who share the same vision. As of today (November 09, 2025), the code is open-source under the MIT License, and I encourage anyone interested to explore it, contribute, or build upon it. I still feel the need for a platform like DaneshBaz, and I hope others will find value in it as well.
Thank you all for being part of this journey.
Best, Mojtaba Valipour Project Manager & Designer, DaneshBaz.com
- Full-text and LaTeX-aware editor (Monaco) in the frontend.
- GraphQL API with resolvers and domain services in the backend.
- Notification consumers and message queue integration.
- Dockerfiles for each service and example compose files to run the stack.
- Frontend:
frontend/ - Backend:
backend/ - Notification:
notification/ - Orchestration:
stack/ - Monitoring compose:
monitoring-compose.yml - Submodules:
.gitmodules
Prerequisites
- Node.js (recommended LTS)
- yarn or pnpm
- Docker (optional, for compose runs)
- Git (for submodules)
Clone and initialize submodules
git clone --recursive <repo-url>
cd daneshbaz
git submodule update --init --recursiveFrontend (local)
cd frontend
yarn install
yarn devBackend (local)
cd backend
yarn install
# copy or create .env from .env.example and set DB/redis/rabbitmq
yarn start:devNotification service (local)
cd notification
yarn install
# copy or create .env from .env.example
yarn start:devExample compose files live in stack/ for development and production. A monitoring compose (Prometheus + Grafana) is provided in monitoring-compose.yml.
- Backend e2e tests:
backend/test/(jest-e2e.json) - Notification contains example tests in
notification/test/
- Backend domain:
backend/src/paper/,backend/src/user/,backend/src/auth/. - Frontend pages:
frontend/pages/, UI components infrontend/ui/components/. - GraphQL schema:
backend/schema.gqland frontend codegen configuration.graphql-let.yml.
Please check the assets folder for screenshots and demo videos including usage examples, and bugs available in the system.
- Please feel free to use this repository anyhow you like. Forks and contributions are welcome. Let us know if you have built anything powerful with it! We would love to hear from you.
MIT License. See LICENSE file for details.