Pet Project: Internal document management system for local company
A comprehensive document workflow management system designed as an alternative to internal document management solutions. Successfully implemented and actively used by a local company for streamlining document approval processes and internal communications.

DocFlow is a full-stack document management system built with modern web technologies. It serves as a pet project that evolved into a practical solution for a local company's internal document workflow needs.
- Document Management: Upload, organize, and manage documents
- Approval Workflow: Streamlined document approval process
- User Management: Role-based access control
- Analytics Dashboard: Track document flow and user activity
- Real-time Notifications: Stay updated on document status changes
- Next.js 14 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling
- shadcn/ui - Modern UI components
- Node.js - Runtime environment
- Express.js - Web framework
- TypeScript - Type-safe backend development
- MongoDB - Document database
- Mongoose - MongoDB object modeling
- File Upload - Document storage and management
- Authentication - Secure user authentication
- Role-based Access - Different permission levels
- Real-time Updates - Live document status tracking
DocFlow/
├── src/ # Frontend (Next.js)
│ ├── app/ # App Router pages
│ ├── components/ # Reusable UI components
│ └── lib/ # Utilities and contexts
├── backend/ # Backend API (Express.js)
│ ├── src/
│ │ ├── controllers/ # Request handlers
│ │ ├── models/ # Database models
│ │ ├── routes/ # API routes
│ │ └── services/ # Business logic
└── public/ # Static assets
- Node.js 18+
- MongoDB database
- npm or yarn
- Clone the repository:
git clone https://github.com/ilyasidk/DocFlow.git
cd DocFlow- Install dependencies:
npm install- Set up environment variables:
# Create .env.local file with required variables
DATABASE_URL=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret- Start the development server:
npm run devOpen http://localhost:3000 to view the application.
The application can be deployed on platforms like Vercel (frontend) and Railway/Heroku (backend).
This pet project was successfully implemented for a local company and is actively used for:
- Managing internal document workflows
- Streamlining approval processes
- Reducing paper-based processes
- Improving team collaboration
The system has proven its value in real-world business operations, demonstrating the practical application of modern web development technologies.
This is a pet project, but contributions and suggestions are welcome!
This project is open source and available under the MIT License.