A comprehensive bioinformatics platform built with modern technologies in a monorepo structure.
openbiocure-platform-ui/
βββ backend/ # FastAPI Python backend
β βββ app/ # Application modules
β β βββ api/ # API endpoints
β β βββ core/ # Core configuration
β β βββ models/ # Database models
β β βββ schemas/ # Pydantic schemas
β β βββ services/ # Business logic
β β βββ utils/ # Utility functions
β βββ tests/ # Test suite
β βββ venv/ # Python virtual environment
β βββ main.py # FastAPI application entry point
β βββ requirements.txt # Python dependencies
βββ frontend/ # Frontend applications
β βββ shell-app/ # React shell application (main container)
β βββ research-core-app/ # Research core micro frontend
β βββ analysis-app/ # Analysis micro frontend
β βββ workflow-app/ # Workflow micro frontend
β βββ shared/ # Shared components and utilities
βββ docs/ # Documentation
β βββ models.md # Data models and API documentation
βββ README.md # This file
- Python 3.9+
- Node.js 18+
- npm or yarn
-
Navigate to backend directory:
cd backend
-
Create and activate virtual environment:
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the FastAPI server:
python main.py # or uvicorn main:app --reload
-
Access the API:
- API: http://localhost:8000
- Interactive docs: http://localhost:8000/docs
- Alternative docs: http://localhost:8000/redoc
-
Install all dependencies:
cd frontend npm run install:all
-
Start all micro frontends:
npm run dev
-
Start individual applications:
npm run start:shell # Port 3000 (Main app) npm run start:research-core # Port 3001 npm run start:analysis # Port 3002 npm run start:workflow # Port 3003
-
Access the applications:
- Shell App: http://localhost:3000
- Research Core: http://localhost:3001
- Analysis: http://localhost:3002
- Workflow: http://localhost:3003
The backend is built with FastAPI and follows a modular architecture:
- API Routes: RESTful endpoints in
app/api/
- Data Models: SQLAlchemy models in
app/models/
- Schemas: Pydantic validation schemas in
app/schemas/
- Services: Business logic in
app/services/
- Core: Configuration and utilities in
app/core/
The frontend uses a React-based micro frontend architecture with modern UI components:
- React 18: Modern React with hooks and functional components
- Micro Frontends: Independent applications for different domains
- Module Federation: Seamless component sharing between apps
- Modern Tooling: Create React App, TypeScript, ESLint
- UI Components: shadcn/ui for professional, accessible, and customizable components
- Design System: Montserrat typography with professional color palette (blues, orange, cyan)
- Performance: Lazy loading, independent deployment, better caching
The API provides endpoints for:
- Authentication: User registration, login, JWT tokens
- Users: Profile management
- Bio Samples: Sample tracking and management
- Analyses: Analysis workflows and results
See docs/models.md
for detailed API specifications and data models.
Comprehensive feature breakdown with user stories and requirements:
- Feature Epics: Detailed breakdown of platform capabilities
- User Stories: Implementation requirements and acceptance criteria
- Development Roadmap: MVP and Phase 2 feature priorities
See docs/features/README.md
for the complete feature breakdown.
Complete visual identity and component guidelines:
- Color Palette: Professional blues, orange, and cyan scheme
- Typography: Montserrat font family with comprehensive scale
- Component Guidelines: Button, form, and navigation standards
- Accessibility: Color contrast and focus indicator requirements
See docs/design-system.md
for the complete design specifications.
python main.py
- Run FastAPI serveruvicorn main:app --reload
- Run with auto-reloadpytest
- Run test suite
npm run dev
- Start all micro frontendsnpm run start:shell
- Start shell applicationnpm run start:research-core
- Start research core appnpm run start:analysis
- Start analysis appnpm run start:workflow
- Start workflow appnpm run build
- Build all applicationsnpm run test
- Run tests across all apps
Create .env
files in respective directories:
DATABASE_URL=postgresql://user:password@localhost/dbname
SECRET_KEY=your-secret-key
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30
REACT_APP_API_URL=http://localhost:8000
REACT_APP_SHELL_URL=http://localhost:3000
REACT_APP_RESEARCH_CORE_URL=http://localhost:3001
REACT_APP_ANALYSIS_URL=http://localhost:3002
REACT_APP_WORKFLOW_URL=http://localhost:3003
- Create a feature branch
- Make your changes
- Add tests if applicable
- Ensure all tests pass
- Submit a pull request
This project is licensed under the MIT License.
For support and questions, please open an issue in the repository.