A powerful, SEO-friendly platform for hosting and managing OCR'd PDF documents with HTML versions, featuring full-text search, filtering, and beautiful dark mode support.
Features β’ Demo β’ Installation β’ Usage β’ Documentation β’ Contributing
https://847c818f.docustax.pages.dev/
DocuStax is designed to be a production-ready static document library that combines the power of modern web technologies with simplicity and performance:
- π Document Management - Host and organize OCR'd PDF documents with clean HTML versions
- π Full-Text Search - Powerful search functionality to find documents instantly
- π·οΈ Smart Filtering - Filter documents by categories, tags, authors, and dates
- π¨ Modern UI/UX - Beautiful, responsive design with dark mode support
- π± Mobile-First - Fully responsive layout that works on all devices
- π SEO Optimized - Built-in sitemap generation and meta tags for better discoverability
- β‘ Lightning Fast - Static site architecture for instant page loads
- π― Easy Navigation - Intuitive browsing through categories and tags
- π Document Metadata - Rich metadata support (author, date, description, tags)
- π Static Deployment - Deploy anywhere - Cloudflare Pages, Netlify, Vercel, GitHub Pages
DocuStax is perfect for:
- π Corporate document libraries
- π Knowledge base portals
- ποΈ Government document archives
- π Policy and procedure documentation
- π Educational resource centers
- π API documentation hosting
- π Legal document repositories
- Framework: Angular 20 - Modern, powerful frontend framework
- Language: TypeScript 5.8 - Type-safe JavaScript
- Styling: TailwindCSS - Utility-first CSS framework
- Build Tool: Angular CLI - Official Angular build system
- Routing: Angular Router with lazy loading support
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher) - Download
- npm (comes with Node.js) or yarn
Get DocuStax up and running in minutes:
-
Clone the repository
git clone https://github.com/ariedotcodotnz/DocuStax.git cd DocuStax -
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open your browser
Navigate to
http://localhost:4200to see your document library in action!
# Development mode with hot reload
npm run dev
# Production build
npm run build
# Preview production build
npm run previewDocuments are stored in the documents/ directory. Each document has its own folder with:
- metadata.json - Document metadata (title, description, author, date, tags, category, people)
- document.html - The HTML version of your document
- document.pdf - (Optional) The original PDF file
- thumbnail.png - (Auto-generated) Preview thumbnail
Example metadata.json:
{
"title": "Privacy Policy Update 2024",
"description": "An updated version of our company privacy policy",
"author": "Legal Department",
"date": "2024-01-01",
"tags": ["legal", "policy", "privacy"],
"category": "Legal Documents",
"people": [
{ "firstname": "Jane", "lastname": "Doe" },
{ "firstname": "John", "lastname": "Smith" }
]
}That's it! The manifest.json file is automatically generated during build or dev runs by scanning the documents directory. Simply create a new folder with a metadata.json file, and it will be automatically detected.
Customize DocuStax by modifying:
- metadata.json (root) - Application name and description
- tailwind.config.js - Theme colors and styling
- angular.json - Build and deployment settings
DocuStax/
βββ documents/ # Document storage
β βββ manifest.json # Auto-generated list of all documents
β βββ [document-slug]/ # Individual document folders
β βββ metadata.json # Document metadata (required)
β βββ document.html # Document content (required)
β βββ document.pdf # Original PDF (optional)
β βββ thumbnail.png # Auto-generated preview
βββ src/
β βββ components/ # Reusable Angular components
β βββ services/ # Business logic and data services
β βββ models/ # TypeScript interfaces and types
β βββ app.component.* # Main application component
βββ scripts/ # Build-time automation scripts
β βββ generate-manifest.mjs # Auto-generate document list
β βββ generate-thumbnails.mjs # Generate PDF thumbnails
β βββ generate-sitemap.mjs # Generate SEO sitemap
βββ angular.json # Angular CLI configuration
βββ tailwind.config.js # TailwindCSS configuration
βββ package.json # Project dependencies
DocuStax can be deployed to any static hosting platform:
npm run build
# Upload dist/cloudflare to Cloudflare Pagesnpm run build
# Deploy the dist/ directoryThe build output is optimized for static hosting with:
- Minified assets
- Tree-shaken bundles
- Pre-rendered routes (where applicable)
- Optimized images
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please ensure your PR:
- Follows the existing code style
- Includes appropriate tests (if applicable)
- Updates documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with β€οΈ using Angular and TailwindCSS
- Icons and design inspiration from modern document management systems
- Community feedback and contributions
Having issues? Found a bug? Have a feature request?
- Open an issue
- Start a discussion
- Check existing documentation
Made with β€οΈ by the DocuStax team