git clone https://github.com/Jonahnki/EvoMap.git
cd EvoMap
npm install
npm run dev
# Open http://localhost:3000Use our issue templates and include:
- Browser version and OS
- Dataset size (number of species)
- Steps to reproduce
- Expected vs actual behavior
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature - Follow existing code style (ESLint + Prettier)
- Add tests for new functionality
- Update documentation as needed
- Submit pull request with clear description
/src/components/- React components for tree visualization/src/algorithms/- Tree layout and analysis algorithms/src/data/- Sample datasets and data processing/src/types/- TypeScript type definitions/public/datasets/- Demo phylogenetic data files
- Use TypeScript for all new code
- Follow ESLint and Prettier configurations
- Write descriptive variable and function names
- Add JSDoc comments for public APIs
- Write unit tests for algorithms and utilities
- Add integration tests for React components
- Include accessibility tests for UI changes
- Test with various dataset sizes (small: <50 nodes, medium: 50-500 nodes, large: 500+ nodes)
- Optimize for trees with 1000+ nodes
- Use React.memo and useMemo for expensive computations
- Implement virtualization for large datasets
- Profile rendering performance with browser dev tools
- Follow WCAG 2.1 AA guidelines
- Add ARIA labels and descriptions
- Ensure keyboard navigation works
- Test with screen readers
- Maintain color contrast ratios
- Node.js 16+ and npm
- Modern browser with ES6+ support
- Basic understanding of React and TypeScript
- Look for issues labeled
good first issueorhelp wanted - Comment on the issue to express interest
- Fork and create your feature branch
- Make your changes following the guidelines above
- Test thoroughly with demo datasets
- Submit a pull request
- Use GitHub Discussions for questions and ideas
- Join our Discord server for real-time chat
- Follow our Twitter for updates
Thank you for contributing to EvoMap! 🌳