A modern Angular web application for managing people, places, events, things, and their relationships. Perfect for family history research, community documentation, and collaborative genealogy projects.
- Modern Dashboard - Overview with stats and quick actions
- People Management - List, search, and manage people
- Professional UI - Material Design with responsive layout
- Navigation - Sidebar navigation with 8 main sections
- Testing - Comprehensive Playwright E2E test suite
- Documentation - Complete developer and user guides
- Enhanced person detail view with tabs
- Relationship visualization
- Places management with map integration
- Events timeline
- Things catalog
- Visual family tree (D3.js)
- Interactive timeline
- Share & collaboration
- GEDCOM import/export
- Conflict resolution
- Document management
- Node.js 18+
- npm or yarn
# Clone repository
git clone [your-repo-url]
cd ConUi
# Install dependencies
npm install
# Start development server
npm startNavigate to http://localhost:4200
# E2E tests (interactive UI)
npm run test:e2e:ui
# E2E tests (headless)
npm run test:e2e
# Unit tests
npm test- QUICKSTART.md - Get started in 5 minutes
- DEVELOPMENT.md - Complete development guide
- IMPLEMENTATION_PLAN.md - Detailed roadmap
- UI_DESIGN.md - UI/UX design system
- SUMMARY.md - What's new and what's working
- Framework: Angular 19 (standalone components)
- UI Library: Angular Material 19
- State Management: Signals (Angular built-in)
- Testing: Playwright (E2E) + Karma/Jasmine (Unit)
- API Client: Auto-generated from OpenAPI
src/app/
βββ client/ # Auto-generated API client
βββ features/ # Feature modules
β βββ dashboard/ β
Implemented
β βββ people/ β
Implemented
β βββ places/ π§ Placeholder
β βββ events/ π§ Placeholder
β βββ things/ π§ Placeholder
β βββ timeline/ π§ Placeholder
β βββ relationships/ π§ Placeholder
β βββ share/ π§ Placeholder
βββ layout/
β βββ shell/ β
Main layout
βββ ...legacy components
- Document multiple family lines
- Create visual family trees
- Track births, marriages, deaths
- Share with family members
- Record village/community members
- Track historical events
- Document places and buildings
- Collaborative research
- Store contact information
- Track relationships
- Document interactions
- Export for backup
- β Navigation between all sections
- β Dashboard stats and actions
- β People list and search
- π§ Person CRUD operations
- π§ Relationship management
- π§ Share workflow
# Interactive mode (recommended)
npm run test:e2e:ui
# Headless mode
npm run test:e2e
# Specific test file
npx playwright test e2e/dashboard.spec.ts
# With browser visible
npm run test:e2e:headedAll auto-generated from OpenAPI specification:
PersonService- Person CRUD operationsPlaceService- Place managementEventService- Event trackingThingService- Thing catalogRelationshipService- Relationship managementSearchService- Global searchShareService- Sharing & collaborationDocumentService- Document management
import { PersonService } from './client';
constructor(private personService: PersonService) {}
ngOnInit() {
this.personService.getPersonData('person-id')
.subscribe(data => console.log(data));
}See IMPLEMENTATION_PLAN.md for detailed list:
- Dashboard stats endpoint
- Paginated search
- Aggregated person data
- Relationship suggestions
- Real-time updates (WebSocket)
- Primary: Indigo (#3F51B5)
- People: Green (#4CAF50)
- Places: Blue (#2196F3)
- Events: Orange (#FF9800)
- Things: Purple (#9C27B0)
- Font: Roboto
- Scale: 8px grid system
- Material Design 3
- Responsive breakpoints
- WCAG AA accessible
See UI_DESIGN.md for complete design system.
- Enhanced person detail view
- Places list with map integration
- Events timeline
- Things management
- Family tree visualization
- Interactive timeline
- Relationship graph
- Share workflow UI
- Conflict resolution
- Data provenance display
- GEDCOM support
- CSV batch import/export
- PDF reports
- Onboarding tour
- Dark mode
- Keyboard shortcuts
- Performance optimization
- Read DEVELOPMENT.md
- Check existing components for patterns
- Write tests for new features
- Follow conventional commits
type(scope): subject
body
footer
Types: feat, fix, docs, style, refactor, test, chore
- TypeScript strict mode
- Angular style guide
- Prettier formatting
- ESLint rules
- First Contentful Paint: < 1.5s
- Time to Interactive: < 3s
- Lighthouse Score: > 90
- Bundle Size: < 500KB (initial)
- Lazy loading routes
- Debounced search
- Virtual scrolling (planned)
- Image optimization (planned)
- Service worker (planned)
- Chrome/Edge (latest) β
- Firefox (latest) β
- Safari (latest) β
- Mobile browsers (testing needed) π§
[Your License Here]
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: your-email@example.com
- Angular Team
- Material Design Team
- Playwright Team
- All contributors
Current Phase: 1 Complete β
Next Phase: 2 - Core Entities
Last Updated: 2024-10-25
- β Implemented modern shell layout
- β Created dashboard with stats
- β Built people management
- β Added Playwright testing
- β Comprehensive documentation
- Enhanced person detail view
- Relationship management
- Places with map integration
- Events timeline
See IMPLEMENTATION_PLAN.md for complete roadmap.
Built with β€οΈ using Angular & Material Design