Sanctissimissa is a comprehensive application providing access to the Traditional Latin Mass and Divine Office in the Extraordinary Form of the Roman Rite. This clean-room implementation uses React Native and Vite to create a cross-platform experience for both Android devices and the web.
Full Name: Sanctissimissa: St. Android's Missal & Breviary in the Extraordinary Form of the Roman Rite
Short Names (used where space is limited):
- Sanctissimissa: St. Android's Missal
- St. Android's Missal
- Sanctissimissa
This documentation provides a comprehensive guide to the architecture, implementation, and migration process for the Sanctissimissa application:
- ARCHITECTURE.md: Detailed architectural overview with diagrams
- IMPLEMENTATION.md: Implementation details and code examples
- CHECKLIST.md: Step-by-step implementation checklist
- DETAILED_IMPLEMENTATION_PLAN.md: Comprehensive implementation plan
- DATABASE_SCHEMA.md: Database structure and migration strategy
- MIGRATION_GUIDE.md: Guide for migrating from Expo to React Native/Vite
- Traditional Latin Mass: Complete texts for the Mass in the Extraordinary Form
- Divine Office: All hours of the Divine Office (Matins, Lauds, Prime, etc.)
- Bilingual Display: Latin and English side-by-side
- Liturgical Calendar: Comprehensive implementation of the traditional calendar
- Educational Layer: Glossary, pronunciations, and explanations
- Responsive Design: Optimized for phones, tablets, and foldable devices
- Offline Support: Full functionality without internet connection
- Cross-Platform: Android native app and Progressive Web App
- Core Framework: React Native
- Web Support: Vite + React Native Web
- State Management: Redux Toolkit
- Navigation: React Navigation
- Storage:
- Native: SQLite (react-native-sqlite-storage)
- Web: IndexedDB
- UI Components: Custom components with responsive design
- Build System:
- Android: Gradle
- Web: Vite
/
├── android/ # Android-specific files
├── ios/ # iOS-specific files (if needed)
├── src/
│ ├── core/ # Platform-agnostic core logic
│ ├── components/ # Shared UI components
│ ├── services/ # Business logic services
│ ├── hooks/ # Custom React hooks
│ ├── store/ # State management
│ ├── types/ # TypeScript type definitions
│ ├── utils/ # Utility functions
│ ├── platforms/ # Platform-specific implementations
│ │ ├── native/ # Native-specific code
│ │ └── web/ # Web-specific code
│ ├── screens/ # Screen components
│ ├── navigation/ # Navigation configuration
│ └── assets/ # Shared assets
├── public/ # Static web assets
├── docs/ # Documentation
├── __tests__/ # Test files
├── index.js # Native entry point
├── index.web.js # Web entry point
├── vite.config.ts # Vite configuration
└── package.json # Project dependencies
- Node.js 16+
- npm or yarn
- React Native CLI
- Android Studio (for Android development)
-
Clone the repository:
git clone https://github.com/yourusername/sanctissimissa.git cd sanctissimissa -
Install dependencies:
npm install
-
Start the development server:
# For Android npm run android # For Web npm run web
# Generate a release build
npm run build:android# Build for production
npm run build:webPlease read the contribution guidelines in CONTRIBUTING.md before submitting pull requests.
This project is licensed under the MIT License.
- Original Divinum Officium project for the liturgical texts and calendar logic
- Contributors to the traditional Latin Mass and Divine Office resources