MarkFlow is an Angular-based document conversion app focused on Markdown workflows.
- Convert Markdown into:
- Word (.docx)
- Plain text (.txt)
- Convert documents into Markdown:
- .docx
- .html
- .txt
- Supports multiple Markdown flavors (Auto, GFM, CommonMark, Pandoc, and more)
- Includes Google Sign-In and Firebase-backed usage/error tracking
- Angular 21
- TypeScript
- Angular Material + Tailwind CSS
- Firebase (Auth + Firestore)
- Conversion libraries:
marked,turndown,mammoth,pdfjs-dist,jspdf,docx - Gemini API (
@google/genai) for HTML → Markdown enhancement
- Node.js 20+
- npm
- Install dependencies:
npm install
- Configure your Gemini API key as a build-time
GEMINI_API_KEYvalue using a local, non-committed method. Example:- create a local
.env.localwithGEMINI_API_KEY=your_key_here - inject that value into your local build/run configuration
- create a local
- Start the dev server:
npm run dev
- Open:
http://localhost:3000
npm run dev— runng serveon0.0.0.0:3000with live reload disablednpm run start— run plainng serve(Angular default host/port, typicallylocalhost:4200)npm run build— build production bundlesnpm run watch— build in watch modenpm run test— run unit testsnpm run lint— run ESLint checks
- Firebase runtime configuration is loaded from
firebase-applet-config.json. - Use your own Firebase project settings and keep sensitive configuration outside version control for production deployments.
- For local setup, create/update
firebase-applet-config.jsonusing values from your Firebase project settings (Project ID, App ID, API key, Auth domain, Storage bucket, Messaging sender ID, and Firestore database ID).