{"id":35137923,"url":"https://github.com/thounda/reactnd-employee-polls","last_synced_at":"2026-04-10T12:31:58.830Z","repository":{"id":330238685,"uuid":"1111342017","full_name":"thounda/reactnd-employee-polls","owner":"thounda","description":"Udacity React Nano Degree Employee Polls Project","archived":false,"fork":false,"pushed_at":"2026-02-12T01:39:47.000Z","size":2280,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-12T11:30:13.706Z","etag":null,"topics":["cicd","nodejs","npm","reactjs","redux","tailwind","vercel"],"latest_commit_sha":null,"homepage":"https://reactnd-employee-polls.vercel.app/","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/thounda.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-06T18:41:23.000Z","updated_at":"2026-02-12T01:39:50.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/thounda/reactnd-employee-polls","commit_stats":null,"previous_names":["thounda/reactnd-employee-polls"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thounda/reactnd-employee-polls","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thounda%2Freactnd-employee-polls","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thounda%2Freactnd-employee-polls/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thounda%2Freactnd-employee-polls/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thounda%2Freactnd-employee-polls/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thounda","download_url":"https://codeload.github.com/thounda/reactnd-employee-polls/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thounda%2Freactnd-employee-polls/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31642747,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cicd","nodejs","npm","reactjs","redux","tailwind","vercel"],"created_at":"2025-12-28T10:15:52.460Z","updated_at":"2026-04-10T12:31:58.821Z","avatar_url":"https://github.com/thounda.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Employee Polls - Corporate Decision Ecosystem\n\nA high-fidelity React application built for internal community engagement. This project allows employees to post \"Would You Rather\" polls, vote on inquiries, and track engagement through a ranked leaderboard.\n\n[![React Employee Poll App](/public/employee-polls.png \"React Employee Poll Application\")](https://github.com/thounda/reactnd-employee-polls/blob/master/public/employee-polls.png)\n\n## 🚀 Key Features\n\n- **Authenticated Access:** Secure login system utilizing a mock database of corporate identities.\n\n- **Categorized Dashboard:** Smart filtering between \"New Questions\" and \"Answered Polls.\"\n\n- **Interactive Voting:** Real-time percentage breakdowns and vote counts for community inquiries.\n\n- **Dynamic Leaderboard:** Advanced ranking algorithm based on a combined score of questions created and answers submitted.\n\n- **Responsive Podium:** Custom visual hierarchy for the top three community contributors.\n\n## 🛠 Tech Stack \u0026 Architecture\n\n### Core Technologies\n\n- **Vite:** Utilized as the build tool for lightning-fast Hot Module Replacement (HMR) and optimized production bundling.\n\n- **TypeScript:** Implemented across the entire codebase to ensure type safety, reduce runtime errors, and improve developer experience.\n\n- **Redux Toolkit (RTK):** Manages the global state. The store acts as a single source of truth for users and questions, utilizing slices for clean, maintainable logic.\n\n### Authentication \u0026 Security\n\n- **Protected Routes:** A custom ProtectedRoute wrapper ensures that users cannot access the Dashboard, Leaderboard, or Poll details without an active session.\n\n- **Session Persistence:** The system tracks the authedUser in the Redux state, redirecting unauthorized attempts back to the Login portal.\n\n## 💻 Local Setup Instructions\n\nFollow these steps to set up the project in your local development environment:\n\n1. **Clone the Repository**\n\n   git clone [https://github.com/thounda/reactnd-employee-polls.git](https://github.com/thounda/reactnd-employee-polls.git)\n\n   cd reactnd-employee-polls\n\n2. **Install Dependencies**\n\n    npm install\n\n3. **Launch Development Server**\n\n    npm run dev\n\n   The app will be available at \u003chttp://localhost:5173\u003e.\n\n## 🧪 Testing Suite\n\nVite maintain a rigorous testing standard using Vitest and React Testing Library. The suite covers UI rendering, state transitions, and business logic.\n\n### Running All Tests\n\n    To run the entire test suite simultaneously:\n\n        npx vitest\n\n### Targeted Component Tests\n\nYou can also run specific test suites for individual modules:\n\n| **Target Component** | **Command** |\n| --- | --- |\n| **Global App / Routing** | Ronpx vitest src/App.test.tsx |\n| **Login Logic** | npx vitest src/components/\\__tests\\__/Login.test.tsx |\n| **Dashboard Tabs** | npx vitest src/components/\\__tests\\__/Dashboard.test.tsx |\n| **Leaderboard Rankings** | npx vitest src/components/\\__tests\\__/Leaderboard.test.tsx |\n\n## 📊 Data Structures\n\nThe application interfaces with a mock database (\\_DATA.ts) containing:\n\n- **Users:** Unique IDs, names, passwords, avatar URLs, and activity logs.\n\n- **Questions:** Timestamps, authors, and option-specific vote tracking.\n\n## 🤝 Contributing\n\n1. Fork the Project.\n\n2. Create your Feature Branch (git checkout -b feature/AmazingFeature).\n\n3. Commit your Changes (git commit -m 'Add some AmazingFeature').\n\n4. Push to the Branch (git push origin feature/AmazingFeature).\n\n5. Open a Pull Request.\n\n_This project was developed as part of the Udacity React \u0026 Redux Nanodegree Program._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthounda%2Freactnd-employee-polls","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthounda%2Freactnd-employee-polls","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthounda%2Freactnd-employee-polls/lists"}