https://github.com/eitanbakirov/genetisched
https://github.com/eitanbakirov/genetisched
fastapi python vuejs
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/eitanbakirov/genetisched
- Owner: EitanBakirov
- License: mit
- Created: 2025-03-22T11:20:30.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-18T23:48:40.000Z (about 1 year ago)
- Last Synced: 2025-06-13T04:39:34.099Z (about 1 year ago)
- Topics: fastapi, python, vuejs
- Language: Vue
- Homepage:
- Size: 4.14 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 𧬠GenetiSched - Genetic Counseling Scheduling System
A lightweight, web-based scheduling platform designed for genetic counseling departments.
The 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.
## π Features
- Add and manage employees (interns and senior counselors)
- Set employee availability and employment percentage
- Automatic schedule generation based on rules
- Room management and assignment
- Office duty rotation scheduling
- Individual schedule viewing
## π οΈ Tech Stack
- Backend: FastAPI (Python)
- Frontend: Vue.js + TailwindCSS
- Data Storage: JSON file (can be upgraded to SQLite/PostgreSQL)
- API Communication: REST using Axios
## π Prerequisites
- Python 3.8+
- Node.js 16+
- npm or yarn
## π Getting Started
### Backend Setup
1. Navigate to the backend directory:
```bash
cd backend
```
2. Create a virtual environment and activate it:
```bash
python -m venv venv
venv\Scripts\activate # On Windows
```
3. Install dependencies:
```bash
pip install -r requirements.txt
```
4. Run the backend server:
```bash
uvicorn main:app --reload
```
The backend will be available at `http://localhost:8000`
### Frontend Setup
1. Navigate to the frontend directory:
```bash
cd frontend
```
2. Install dependencies:
```bash
npm install
```
3. Run the development server:
```bash
npm run dev
```
The frontend will be available at `http://localhost:5173`
## π Project Structure
```
/genetisched
βββ backend/
β βββ main.py # FastAPI entry point
β βββ api.py # Employee routes
β βββ scheduler.py # Scheduling logic
β βββ models.py # Employee data model
β βββ employees.json # Temporary employee storage
β
βββ frontend/
βββ public/
β βββ index.html
βββ src/
β βββ App.vue
β βββ main.js
β βββ components/
β βββ EmployeeForm.vue
β βββ ScheduleTable.vue
β βββ EmployeeSchedule.vue
βββ package.json
```
## π License
MIT License