{"id":28289214,"url":"https://github.com/eitanbakirov/genetisched","last_synced_at":"2026-01-26T19:06:16.655Z","repository":{"id":283821682,"uuid":"953013865","full_name":"EitanBakirov/GenetiSched","owner":"EitanBakirov","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-18T23:48:40.000Z","size":4345,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-13T04:39:34.099Z","etag":null,"topics":["fastapi","python","vuejs"],"latest_commit_sha":null,"homepage":"","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EitanBakirov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2025-03-22T11:20:30.000Z","updated_at":"2025-05-20T16:33:04.000Z","dependencies_parsed_at":"2025-05-19T00:25:14.228Z","dependency_job_id":"4a358e15-0654-4bfd-893b-d466f11d5db1","html_url":"https://github.com/EitanBakirov/GenetiSched","commit_stats":null,"previous_names":["eitanbakirov/genetisched"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/EitanBakirov/GenetiSched","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EitanBakirov%2FGenetiSched","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EitanBakirov%2FGenetiSched/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EitanBakirov%2FGenetiSched/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EitanBakirov%2FGenetiSched/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EitanBakirov","download_url":"https://codeload.github.com/EitanBakirov/GenetiSched/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EitanBakirov%2FGenetiSched/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28785172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T13:55:28.044Z","status":"ssl_error","status_checked_at":"2026-01-26T13:55:26.068Z","response_time":59,"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":["fastapi","python","vuejs"],"created_at":"2025-05-22T00:14:32.277Z","updated_at":"2026-01-26T19:06:16.631Z","avatar_url":"https://github.com/EitanBakirov.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧬 GenetiSched - Genetic Counseling Scheduling System\n\nA lightweight, web-based scheduling platform designed for genetic counseling departments.\nThe system allows managers to assign interns to senior counselors, manage room availability, and schedule office duty rotations—based on availability, employment percentage, and internal rules.\n\n## 🚀 Features\n\n- Add and manage employees (interns and senior counselors)\n- Set employee availability and employment percentage\n- Automatic schedule generation based on rules\n- Room management and assignment\n- Office duty rotation scheduling\n- Individual schedule viewing\n\n## 🛠️ Tech Stack\n\n- Backend: FastAPI (Python)\n- Frontend: Vue.js + TailwindCSS\n- Data Storage: JSON file (can be upgraded to SQLite/PostgreSQL)\n- API Communication: REST using Axios\n\n## 📋 Prerequisites\n\n- Python 3.8+\n- Node.js 16+\n- npm or yarn\n\n## 🚀 Getting Started\n\n### Backend Setup\n\n1. Navigate to the backend directory:\n   ```bash\n   cd backend\n   ```\n\n2. Create a virtual environment and activate it:\n   ```bash\n   python -m venv venv\n   venv\\Scripts\\activate  # On Windows\n   ```\n\n3. Install dependencies:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n4. Run the backend server:\n   ```bash\n   uvicorn main:app --reload\n   ```\n\nThe backend will be available at `http://localhost:8000`\n\n### Frontend Setup\n\n1. Navigate to the frontend directory:\n   ```bash\n   cd frontend\n   ```\n\n2. Install dependencies:\n   ```bash\n   npm install\n   ```\n\n3. Run the development server:\n   ```bash\n   npm run dev\n   ```\n\nThe frontend will be available at `http://localhost:5173`\n\n## 📁 Project Structure\n\n```\n/genetisched\n├── backend/\n│   ├── main.py            # FastAPI entry point\n│   ├── api.py             # Employee routes\n│   ├── scheduler.py       # Scheduling logic\n│   ├── models.py          # Employee data model\n│   └── employees.json     # Temporary employee storage\n│\n└── frontend/\n    ├── public/\n    │   └── index.html\n    ├── src/\n    │   ├── App.vue\n    │   ├── main.js\n    │   └── components/\n    │       ├── EmployeeForm.vue\n    │       ├── ScheduleTable.vue\n    │       └── EmployeeSchedule.vue\n    └── package.json\n```\n\n## 📝 License\n\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feitanbakirov%2Fgenetisched","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feitanbakirov%2Fgenetisched","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feitanbakirov%2Fgenetisched/lists"}