{"id":27882113,"url":"https://github.com/steven2k2/camp-data-converter","last_synced_at":"2025-05-05T05:07:48.090Z","repository":{"id":282846351,"uuid":"949793441","full_name":"steven2k2/camp-data-converter","owner":"steven2k2","description":"Camp Data Converter is a Python tool that extracts structured data from Basecamp HTML exports and converts it into JSON format. This allows for easy transformation into other formats such as CSV, Excel, or integration into automation workflows.","archived":false,"fork":false,"pushed_at":"2025-03-17T09:16:57.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-17T09:26:38.758Z","etag":null,"topics":["basecamp","data-conversion","python"],"latest_commit_sha":null,"homepage":"","language":"Python","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/steven2k2.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}},"created_at":"2025-03-17T06:34:37.000Z","updated_at":"2025-03-17T09:17:00.000Z","dependencies_parsed_at":"2025-03-17T09:37:44.805Z","dependency_job_id":null,"html_url":"https://github.com/steven2k2/camp-data-converter","commit_stats":null,"previous_names":["steven2k2/camp-data-converter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steven2k2%2Fcamp-data-converter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steven2k2%2Fcamp-data-converter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steven2k2%2Fcamp-data-converter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/steven2k2%2Fcamp-data-converter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/steven2k2","download_url":"https://codeload.github.com/steven2k2/camp-data-converter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252442462,"owners_count":21748451,"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","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":["basecamp","data-conversion","python"],"created_at":"2025-05-05T05:07:47.551Z","updated_at":"2025-05-05T05:07:48.081Z","avatar_url":"https://github.com/steven2k2.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Camp Data Converter\n\n**Camp Data Converter** is a Python-based tool for extracting structured data from Basecamp HTML exports and converting it into **JSON** and **Markdown** formats. This allows for further transformations into CSV, Excel, or automation workflows.\n\n### **Disclaimer**\nThis project is a **code example** intended for demonstration purposes only.\nAll data, company names, and individuals referenced within this repository are entirely fictitious.\nAny resemblance to actual persons, living or dead, or real-world organisations is purely coincidental.\n\nThe use of **Nordic-style names, addresses, and data** is a **deliberate convention** chosen to ensure sample information is easily recognisable and does not inadvertently correspond to real entities in an Australasian context.\nThis convention is purely aesthetic and does not imply any geographical or cultural affiliation.\n\nThis project is provided **as-is** with no guarantees or warranties. Use at your own discretion.\n\n\n## 🚀 Features\n- Parses **Basecamp HTML exports**\n- Extracts **work orders, tasks, assigned technicians, and service logs**\n- Converts to:\n   - **JSON** (structured data output)\n   - **Markdown** (human-readable reports)\n- Easily extendable for **CSV, Excel, or Office 365 automation**\n\n---\n\n![Screenshot of HTML Data](./docs/images/convert.png)\n\n---\n\n## 📦 Installation\n\n1. Clone the repository:\n   ```sh\n   git clone https://github.com/steven2k2/camp-data-converter.git\n   cd camp-data-converter\n   ```\n\n2. Run the **setup script** to install dependencies:\n   ```sh\n   ./setup.sh\n   ```\n\n3. Activate the virtual environment:\n   ```sh\n   source venv/bin/activate  # macOS/Linux\n   venv\\Scripts\\activate   # Windows\n   ```\n\n---\n\n## Usage\n\n### **1️⃣ Convert an HTML export to JSON**\n```sh\npython convert.py data/sample_input.html output.json\n```\n- `sample_input.html` → Basecamp HTML export file\n- `output.json` → JSON output file\n\nOr use the **Bash script**:\n```sh\n./scripts/run_conversion.sh\n```\n\n---\n\n### **2️⃣ Convert JSON to Markdown**\n```sh\npython json_to_md.py output.json report.md\n```\n- `output.json` → JSON output file from a previous step\n- `report.md` → Markdown output file\n\nOr use the **Bash script**:\n```sh\n./scripts/run_json_to_md.sh\n```\n\n---\n\n## Example Outputs\n\n### **JSON Output**\n```json\n{\n  \"work_orders\": [\n    {\n      \"id\": \"WO-1042\",\n      \"title\": \"Network Installation\",\n      \"created_at\": \"2025-03-01 09:30:00\",\n      \"client\": \"Acme Corp\",\n      \"location\": \"123 Main Street, Sydney\",\n      \"technicians\": [\"Michael Carter - Lead Technician\", \"Lisa Fernandez - Network Engineer\"],\n      \"tasks\": [\"Install fibre-optic cabling\", \"Configure network routers\"],\n      \"service_logs\": [\"Inspected site, existing infrastructure is compatible\"]\n    }\n  ]\n}\n```\n\n### **Markdown Output**\n```\n# Work Orders Report\n\n## WO-1042 - Network Installation\n**Created At:** 2025-03-01 09:30:00\n\n**Client:** Acme Corp  \n**Location:** 123 Main Street, Sydney  \n\n### Assigned Technicians\n- Michael Carter - Lead Technician\n- Lisa Fernandez - Network Engineer\n\n### Tasks\n- [ ] Install fibre-optic cabling\n- [ ] Configure network routers\n\n### Service Logs\n- Inspected site, existing infrastructure is compatible\n```\n\n---\n\n## Future Enhancements\n- **CSV and Excel export options**\n- **Integration with Office 365 automation**\n- **Web-based UI for interactive conversion**\n\n---\n\n## Contributing\nContributions are welcome! Feel free to submit issues and pull requests.\n\n## License\nThis project is licensed under the **MIT License**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteven2k2%2Fcamp-data-converter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteven2k2%2Fcamp-data-converter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteven2k2%2Fcamp-data-converter/lists"}