init
This commit is contained in:
233
README.md
233
README.md
@@ -1,2 +1,233 @@
|
||||
# CrewChronicle
|
||||
# Weekly Crew Schedule Generator
|
||||
|
||||
A small Python utility that generates a **weekly crew scheduling workbook** (`.xlsx`) for **Monday–Friday**.
|
||||
Each day gets its own sheet with **time slots** and **one column per crew lead / supervisor**.
|
||||
|
||||
The workbook is designed to be:
|
||||
|
||||
* **Easy to edit**
|
||||
* **Clean when printed**
|
||||
* **Simple to export to PDF**
|
||||
|
||||
This is useful for scheduling **customer visits, job assignments, or crew work plans**.
|
||||
|
||||
---
|
||||
|
||||
# Features
|
||||
|
||||
* Generates **one sheet per weekday**
|
||||
|
||||
* Monday
|
||||
* Tuesday
|
||||
* Wednesday
|
||||
* Thursday
|
||||
* Friday
|
||||
|
||||
* Configurable via `config.json`
|
||||
|
||||
* Start time
|
||||
* End time
|
||||
* Slot size (minutes)
|
||||
* Crew / supervisor names
|
||||
|
||||
* Default schedule:
|
||||
|
||||
* **08:00 → 17:00**
|
||||
* **60 minute slots**
|
||||
|
||||
* Clean printable layout
|
||||
|
||||
* Works with:
|
||||
|
||||
* **LibreOffice Calc**
|
||||
* **Microsoft Excel**
|
||||
* **OnlyOffice**
|
||||
|
||||
* Easily **exportable to PDF**
|
||||
|
||||
---
|
||||
|
||||
# Example Layout
|
||||
|
||||
```
|
||||
-----------------------------------------------------------
|
||||
| Time Slot | Crew 1 | Crew 2 | Crew 3 | Crew 4 | Crew 5 |
|
||||
-----------------------------------------------------------
|
||||
| 08:00-09:00 | | | | | |
|
||||
| 09:00-10:00 | | | | | |
|
||||
| 10:00-11:00 | | | | | |
|
||||
| ... |
|
||||
-----------------------------------------------------------
|
||||
```
|
||||
|
||||
Each **row** represents a time slot.
|
||||
Each **column** represents a crew lead or supervisor.
|
||||
|
||||
You can write things like:
|
||||
|
||||
```
|
||||
Customer Name
|
||||
Address
|
||||
Notes
|
||||
```
|
||||
|
||||
inside each cell.
|
||||
|
||||
---
|
||||
|
||||
# Requirements
|
||||
|
||||
Python **3.8+**
|
||||
|
||||
Python package:
|
||||
|
||||
```
|
||||
openpyxl
|
||||
```
|
||||
|
||||
Install it with:
|
||||
|
||||
```
|
||||
pip install openpyxl
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Project Structure
|
||||
|
||||
```
|
||||
crew_schedule/
|
||||
│
|
||||
├─ generate_week_schedule_xlsx.py
|
||||
├─ config.json
|
||||
├─ README.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Configuration
|
||||
|
||||
Edit `config.json` to define crews and schedule hours.
|
||||
|
||||
Example:
|
||||
|
||||
```json
|
||||
{
|
||||
"start_time": "08:00",
|
||||
"end_time": "17:00",
|
||||
"slot_minutes": 60,
|
||||
"crews": [
|
||||
"Crew 1",
|
||||
"Crew 2",
|
||||
"Crew 3"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Example With Named Supervisors
|
||||
|
||||
```json
|
||||
{
|
||||
"start_time": "07:00",
|
||||
"end_time": "16:00",
|
||||
"slot_minutes": 60,
|
||||
"crews": [
|
||||
"Mike",
|
||||
"Sara",
|
||||
"John",
|
||||
"Chris",
|
||||
"Dana"
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Usage
|
||||
|
||||
Generate the schedule for the **current week**:
|
||||
|
||||
```
|
||||
python generate_week_schedule_xlsx.py
|
||||
```
|
||||
|
||||
Generate a specific week:
|
||||
|
||||
```
|
||||
python generate_week_schedule_xlsx.py 2026-03-09
|
||||
```
|
||||
|
||||
The script automatically aligns the provided date to **Monday**.
|
||||
|
||||
---
|
||||
|
||||
# Output
|
||||
|
||||
Example output file:
|
||||
|
||||
```
|
||||
weekly_schedule_2026-03-09.xlsx
|
||||
```
|
||||
|
||||
Inside the workbook:
|
||||
|
||||
```
|
||||
Monday
|
||||
Tuesday
|
||||
Wednesday
|
||||
Thursday
|
||||
Friday
|
||||
```
|
||||
|
||||
Each sheet contains:
|
||||
|
||||
* Time slots
|
||||
* Crew columns
|
||||
* Large writable cells
|
||||
|
||||
---
|
||||
|
||||
# Exporting to PDF
|
||||
|
||||
### LibreOffice
|
||||
|
||||
1. Open the `.xlsx` file
|
||||
2. Fill in the schedule
|
||||
3. Click:
|
||||
|
||||
```
|
||||
File → Export As → Export as PDF
|
||||
```
|
||||
|
||||
### Microsoft Excel
|
||||
|
||||
```
|
||||
File → Export → Create PDF/XPS
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Customization Ideas
|
||||
|
||||
Possible improvements:
|
||||
|
||||
* Color coding for crews
|
||||
* Customer / Supervisor / Notes sub-lines
|
||||
* Automatic job numbering
|
||||
* Multiple weeks generated at once
|
||||
* Direct PDF generation
|
||||
* ICS calendar export
|
||||
|
||||
---
|
||||
|
||||
# License
|
||||
|
||||
MIT License
|
||||
|
||||
Use freely, modify freely.
|
||||
|
||||
---
|
||||
|
||||
# Author
|
||||
|
||||
Internal scheduling utility designed for **crew-based weekly planning**.
|
||||
|
||||
Reference in New Issue
Block a user