DocFlow is a modern fullstack web application designed for document management and tracking, featuring secure authentication, a scalable architecture, and a complete CI/CD pipeline.
The project is organized into three main parts:
docflow/
├── backend/ # Node.js API (Express)
├── frontend/ # React application (Vite)
├── .github/ # CI/CD workflows (GitHub Actions)
- Node.js
- Express
- MongoDB (Mongoose)
- JWT Authentication
- React
- Vite
- Testing Library + Vitest
- Docker
- GitHub Actions (CI/CD)
- GitHub Container Registry (GHCR)
- Render (deployment)
- Secure authentication (JWT-based login)
- REST API
- Modern frontend interface
- Backend unit testing (Jest)
- Frontend testing (Vitest)
- Complete CI/CD pipeline:
- Linting
- Testing
- Docker image build
- Image push to registry
- Automated deployment
cd backend
npm install
npm run testcd frontend
npm install
npm run testdocker compose up --buildThis project uses GitHub Actions to:
-
Run linting and tests
-
Build Docker images
-
Push images to GHCR
-
Trigger automatic deployment on Render
-
Deployed using Docker image from GHCR
-
Environment variables configured in Render dashboard
- Deployed as a static site
-
MongoDB Atlas (recommended for production)
-
or Dockerized MongoDB for local development
Push → GitHub Actions → Tests → Build Docker → Push GHCR → Deploy Render
# Clone the repository
git clone https://github.com/RStephanH/docflow.git
cd docflow
docker compose up --build