{"id":18708397,"url":"https://github.com/refactor-group/refactor-platform-fe","last_synced_at":"2025-07-24T01:33:05.356Z","repository":{"id":205888041,"uuid":"713640096","full_name":"refactor-group/refactor-platform-fe","owner":"refactor-group","description":"A platform for coaches and leaders to level up engineers and achieve specific organizational and professional growth outcomes","archived":false,"fork":false,"pushed_at":"2025-07-08T17:50:35.000Z","size":5760,"stargazers_count":7,"open_issues_count":30,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-07-08T18:53:21.567Z","etag":null,"topics":["coaching","coaching-management-system","frontend","mentoring","nextjs","software-engineering","tailwind-css","typescript-react"],"latest_commit_sha":null,"homepage":"https://refactor.engineer","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/refactor-group.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-11-02T23:54:36.000Z","updated_at":"2025-07-07T21:14:11.000Z","dependencies_parsed_at":"2023-11-29T16:53:01.293Z","dependency_job_id":"db02d05e-1461-4167-b755-7800224e8961","html_url":"https://github.com/refactor-group/refactor-platform-fe","commit_stats":null,"previous_names":["jim-hodapp-coaching/refactor-platform-fe","refactor-group/refactor-platform-fe"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/refactor-group/refactor-platform-fe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refactor-group%2Frefactor-platform-fe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refactor-group%2Frefactor-platform-fe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refactor-group%2Frefactor-platform-fe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refactor-group%2Frefactor-platform-fe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/refactor-group","download_url":"https://codeload.github.com/refactor-group/refactor-platform-fe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refactor-group%2Frefactor-platform-fe/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266779227,"owners_count":23982887,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coaching","coaching-management-system","frontend","mentoring","nextjs","software-engineering","tailwind-css","typescript-react"],"created_at":"2024-11-07T12:23:15.171Z","updated_at":"2025-07-24T01:33:05.348Z","avatar_url":"https://github.com/refactor-group.png","language":"TypeScript","readme":"# Refactor Coaching \u0026 Mentoring Platform\n\n## Frontend (currently web browser-only)\n\n![377960688-0b5292b0-6ec7-4774-984e-8e99e503d26c](https://github.com/user-attachments/assets/5dcdee09-802e-4b25-aa58-757d607ce7bc)\nA preview of the main coaching session page (rapidly evolving)\n\n## Intro\n\nA web frontend built on Next.js that provides a web API for various client applications (e.g. a web frontend) that facilitate the coaching and mentoring of software engineers.\n\nThe platform itself is useful for professional independent coaches, informal mentors and engineering leaders who work with individual software engineers and/or teams by providing a single application that facilitates and enhances your coaching practice.\n\nThis is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).\n\n## Getting Started\n\n### Setting Local Environment Variables\n\nWhen running locally on a development machine you can manually set the application's configuration through a `.env` file at the root of the source tree:\n\n```env\nNEXT_PUBLIC_BACKEND_SERVICE_PROTOCOL=\"http\"\nNEXT_PUBLIC_BACKEND_SERVICE_PORT=4000\nNEXT_PUBLIC_BACKEND_SERVICE_HOST=\"localhost\"\nNEXT_PUBLIC_BACKEND_API_VERSION=\"1.0.0-beta1\"\n\n# TIPTAP_APP_ID originates from your TipTap Cloud Dashboard\nNEXT_PUBLIC_TIPTAP_APP_ID=\"\u003cTIPTAP_APP_ID\u003e\"\n\nFRONTEND_SERVICE_INTERFACE=0.0.0.0\nFRONTEND_SERVICE_PORT=3000\n```\n\n**Note** that these variables get set and passed by docker-compose in the backend's `.env` file and _do not_ need to be set here in this case.\n\n### Running the Development Server\n\n```bash\nnpm run dev\n```\n\n### Logging Into the Application\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to log in to the platform.\n\n## Testing\n\nThis project includes a comprehensive testing suite with unit tests, integration tests, and end-to-end tests to ensure reliable state management and user interactions.\n\n### Prerequisites\n\nEnsure all dependencies are installed:\n\n```bash\nnpm install\n```\n\n### Available Test Commands\n\n#### Unit \u0026 Integration Tests\n```bash\n# Run all unit and integration tests\nnpm run test\n\n# Run tests with interactive UI (great for development)\nnpm run test:ui\n\n# Run tests with coverage report\nnpm run test:coverage\n```\n\n#### End-to-End Tests\n```bash\n# Run E2E tests (requires dev server to be running)\nnpm run test:e2e\n\n# Run E2E tests with interactive UI\nnpm run test:e2e:ui\n\n# Run all tests (unit + integration + E2E)\nnpm run test:all\n```\n\n### Running Tests Step-by-Step\n\n#### 1. Unit \u0026 Integration Tests (Fastest)\nThese test individual components, hooks, and state stores in isolation:\n\n```bash\nnpm run test\n```\n\n**What this covers:**\n- State store logic (organization, coaching relationship, auth)\n- React hooks behavior \n- Component rendering and interactions\n- API mocking with realistic responses\n\n#### 2. End-to-End Tests (Most Comprehensive)\nThese test complete user workflows in a real browser:\n\n```bash\n# First, start the development server in one terminal\nnpm run dev\n\n# Then in another terminal, run E2E tests\nnpm run test:e2e\n```\n\n**What this covers:**\n- State persistence across page navigation\n- Logout clearing all stored state\n- Error handling (403 forbidden pages)\n- Session relationship ID syncing\n- Cross-browser compatibility\n\n### Test Structure\n\n- **`__tests__/`** - Unit and integration tests\n  - `stores/` - State management logic tests\n  - `hooks/` - React hooks integration tests  \n  - `components/` - UI component tests\n- **`e2e/`** - End-to-end browser tests\n- **`src/test-utils/`** - Testing utilities and mocks\n\n### Debugging Tests\n\nIf tests fail, you can:\n\n1. **Run tests in UI mode** for better debugging:\n   ```bash\n   npm run test:ui          # For unit tests\n   npm run test:e2e:ui      # For E2E tests\n   ```\n\n2. **Run specific test files**:\n   ```bash\n   npm run test -- __tests__/stores/auth-store.test.ts\n   ```\n\n3. **Check test coverage**:\n   ```bash\n   npm run test:coverage\n   ```\n\n### Continuous Integration\n\nAll tests should pass before merging code. The test suite is designed to:\n- Catch state management regressions\n- Prevent logout/session bugs\n- Validate user interaction flows\n- Ensure cross-browser compatibility\n\nFor more detailed testing information, see [docs/testing/frontend-testing-strategy.md](./docs/testing/frontend-testing-strategy.md).\n\n#### For Working with and Running the Application in Docker, navigate to the [Container-README](./docs/runbooks/Container-README.md)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frefactor-group%2Frefactor-platform-fe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frefactor-group%2Frefactor-platform-fe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frefactor-group%2Frefactor-platform-fe/lists"}