How deven037/crm-practice works
Practice CRM is a web CRM backed by a standalone REST API, with a companion React Native app. The main workflow is sign in, use a business module to create or update records, and view the resulting records in the CRM; the web client initializes its data cache after authentication. Major branches include administration and configuration, automation/analysis, and mobile task management. The README documents the API and analysis integrations; source excerpts directly show only selected client, task, and server interactions, so other links are documented rather than inferred from names.
Main entry points: index.ts REST service · App.tsx Web application · AuthContext.tsx Web authentication · DataStudio.tsx Data Studio
Components 30
Web CRM
- Web application
src/App.tsx - Web authentication
src/auth/AuthContext.tsx - Record cache
src/data/store.ts - API fetch client
src/data/apiFetch.ts - Sales records
src/pages/Leads.tsx - Lead conversion
src/pages/LeadForm.tsx - Accounts and contacts
src/pages/AccountDetail.tsx - Campaign management
src/pages/CampaignDetail.tsx - Product catalog
src/pages/ProductDetail.tsx - Deals and quotes
src/pages/Deals.tsx - Tasks and tickets
src/pages/Tasks.tsx - Dashboard
src/pages/Dashboard.tsx - Admin configuration
src/pages/ObjectConfig.tsx - Data Studio
src/pages/DataStudio.tsx
REST API
- REST service
server/src/index.ts - API authentication
server/src/routes/auth.ts - Business endpoints
server/src/routes/crud.ts - Task endpoints
server/src/routes/tasks.ts - Record database
server/src/db.ts
Mobile CRM
- Mobile application
mobile/App.tsx - Mobile authentication
mobile/src/auth/AuthContext.tsx - Task screen
mobile/src/screens/TasksScreen.tsx - Task API hooks
mobile/src/api/hooks/useTasks.ts - Mobile API client
mobile/src/api/client.ts - Secure token storage
mobile/src/auth/storage.ts
Data Analysis
- Python bridge
python_bridge/server.py - Python analysis
python_bridge/analysis_template.py - Hosted workflow
Other components
- CRM user
- GitHub Actions
Connections 36
- CRM user → Web application: uses
README.md - Web application → Web authentication: provides auth
src/App.tsx - Web application → Sales records: routes to
src/App.tsx - Web application → Lead conversion: routes to
src/App.tsx - Web application → Accounts and contacts: routes to
src/App.tsx - Web application → Tasks and tickets: routes to
src/App.tsx - Web application → Admin configuration: routes to
src/App.tsx - Web application → Data Studio: routes to
src/App.tsx - Web authentication → API fetch client: authenticates via
src/auth/AuthContext.tsx - Web authentication → Record cache: initializes
src/auth/AuthContext.tsx - Record cache → API fetch client: fetches records
src/data/store.ts - API fetch client → REST service: calls REST API
README.md - Sales records → REST service: manages leads
README.md - Lead conversion → Sales records: converts leads
README.md - Accounts and contacts → REST service: manages records
README.md - Campaign management → REST service: manages campaigns
README.md - Product catalog → REST service: manages products
README.md - Deals and quotes → REST service: manages deals
README.md - Tasks and tickets → REST service: manages tasks
README.md - Dashboard → REST service: reads CRM data
README.md - Admin configuration → REST service: configures CRM
README.md - Data Studio → Python bridge: dispatches extracts
README.md - Data Studio → Hosted workflow: dispatches analysis
README.md - Hosted workflow → GitHub Actions: runs workflow
README.md - REST service → API authentication: handles login
README.md - REST service → Business endpoints: serves endpoints
README.md - REST service → Task endpoints: routes tasks
server/src/routes/tasks.ts - Task endpoints → Record database: reads and writes
server/src/routes/tasks.ts - CRM user → Mobile application: uses
README.md - Mobile application → Mobile authentication: provides auth
mobile/App.tsx - Mobile application → Task screen: navigates to
- Task screen → Task API hooks: uses task hooks
mobile/src/screens/TasksScreen.tsx - Task API hooks → Mobile API client: sends requests
mobile/src/api/hooks/useTasks.ts - Mobile API client → Secure token storage: reads token
mobile/src/api/client.ts - Mobile API client → REST service: calls REST API
README.md - Python bridge → Python analysis: runs script
README.md