ResearchVault is a full-stack institutional research repository system designed for managing, publishing, and searching scholarly outputs such as papers, datasets, and software. Inspired by large-scale systems like CERN CDS, it provides a scalable and extensible infrastructure for modern research workflows.
1. Flask-based backend exposing REST APIs
2. PostgreSQL database for structured record storage
3. OpenSearch for full-text search and indexing
4. React frontend for interactive UI and state management
5. Docker Compose for containerized deployment
• Record lifecycle management (draft, published, archived)
• Automatic DOI-style identifier generation
• Versioning with changelog tracking
• File uploads with metadata and validation
• Faceted search with filters and aggregations
The system uses ULIDs for sortable unique identifiers and OpenSearch for scalable search with fuzzy matching and field boosting. React Query is used for efficient state management, enabling caching and background synchronization of server state.
• Full-text search with real-time indexing
• REST API with pagination and filtering
• Version snapshots with semantic versioning
• Modular backend with service-oriented design
Python, Flask, PostgreSQL, OpenSearch, React, Docker, REST APIs