{"id":29081947,"url":"https://github.com/mammet-tech/lateshow-edwin-mammet","last_synced_at":"2025-07-27T05:33:54.859Z","repository":{"id":301344418,"uuid":"1006252899","full_name":"Mammet-tech/lateshow-edwin-mammet","owner":"Mammet-tech","description":"A Flask REST API to manage late show episodes, guests, and appearances. Built with SQLAlchemy, Flask-Migrate, and SQLite.","archived":false,"fork":false,"pushed_at":"2025-06-26T11:01:14.000Z","size":13163,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-26T11:47:53.840Z","etag":null,"topics":["flask","flask-migrate","flask-sqlalchemy","postman","python","sqlite"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mammet-tech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-06-21T20:48:24.000Z","updated_at":"2025-06-26T11:01:17.000Z","dependencies_parsed_at":"2025-06-26T11:58:11.550Z","dependency_job_id":null,"html_url":"https://github.com/Mammet-tech/lateshow-edwin-mammet","commit_stats":null,"previous_names":["mammet-tech/lateshow-edwin-mammet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Mammet-tech/lateshow-edwin-mammet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mammet-tech%2Flateshow-edwin-mammet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mammet-tech%2Flateshow-edwin-mammet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mammet-tech%2Flateshow-edwin-mammet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mammet-tech%2Flateshow-edwin-mammet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mammet-tech","download_url":"https://codeload.github.com/Mammet-tech/lateshow-edwin-mammet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mammet-tech%2Flateshow-edwin-mammet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265344863,"owners_count":23750567,"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":["flask","flask-migrate","flask-sqlalchemy","postman","python","sqlite"],"created_at":"2025-06-27T20:01:31.355Z","updated_at":"2025-07-14T20:34:37.644Z","avatar_url":"https://github.com/Mammet-tech.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📺 Late Show API\n\nThis is a RESTful API built with Flask for tracking guests and episodes on a late night show.\n\n---\n\n## 📁 Project Structure\n\n```\n.\n├── __pycache__/               \n├── instance/                  \n│   └── app.db                 \n├── migrations/               \n│   ├── versions/              \n│   ├── env.py               \n│   ├── README                \n│   └── script.py.mako       \n├── venv/                     \n├── app.py                    \n├── models.py                  \n├── README.md                  \n└── requirements.txt           \n```\n\n---\n\n## ⚙️ Technologies Used\n\n- Python 3.8+\n- Flask\n- Flask-SQLAlchemy\n- Flask-Migrate\n- SQLite\n- Postman (for API testing)\n\n---\n\n## 🚀 Setup Instructions\n\n### 1. Clone the Repository\n\n```bash\ngit clone https://git@github.com:Mammet-tech/lateshow-edwin-mammet.git\ncd lateshow-edwin-mammet\n```\n\n### 2. Create Virtual Environment\n\n```bash\npipenv install\npipenv shell\n```\n\n### 3. Set Flask Environment Variables\n\n```bash\nexport FLASK_APP=app.py\nexport FLASK_RUN_PORT=5555\n```\n\n### 4. Run Migrations\n\n```bash\nflask db init\nflask db migrate -m \"Create tables\"\nflask db upgrade\n```\n\n### 5. Seed the Database\n\nYou may run your own `seed.py` or import the provided CSV file to populate the database.\n\n---\n\n## 🧪 API Endpoints\n\n### ✅ GET /episodes\n\nReturns all episodes:\n\n```json\n[\n  {\n    \"id\": 1,\n    \"date\": \"1/11/99\",\n    \"number\": 1\n  },\n  \n]\n```\n\n---\n\n### ✅ GET /episodes/\u003cid\u003e\n\nReturns a single episode with its appearances:\n\n```json\n{\n  \"id\": 1,\n  \"date\": \"1/11/99\",\n  \"number\": 1,\n  \"appearances\": [\n    {\n      \"id\": 1,\n      \"rating\": 4,\n      \"guest_id\": 1,\n      \"episode_id\": 1,\n      \"guest\": {\n        \"id\": 1,\n        \"name\": \"Michael J. Fox\",\n        \"occupation\": \"actor\"\n      }\n    }\n  ]\n}\n```\n\nIf not found:\n\n```json\n{\n  \"error\": \"Episode not found\"\n}\n```\n\n---\n\n### ✅ GET /guests\n\nReturns all guests.\n\n---\n\n### ✅ POST /appearances\n\nCreates a new guest appearance.\n\n**Request Body**:\n\n```json\n{\n  \"rating\": 5,\n  \"episode_id\": 2,\n  \"guest_id\": 3\n}\n```\n\n**Valid Response**:\n\n```json\n{\n  \"id\": 162,\n  \"rating\": 5,\n  \"guest_id\": 3,\n  \"episode_id\": 2,\n  \"episode\": {\n    \"date\": \"1/12/99\",\n    \"id\": 2,\n    \"number\": 2\n  },\n  \"guest\": {\n    \"id\": 3,\n    \"name\": \"Tracey Ullman\",\n    \"occupation\": \"television actress\"\n  }\n}\n```\n\n**Validation Error**:\n\n```json\n{\n  \"errors\": [\"validation errors\"]\n}\n```\n\n---\n\n## 📬 Testing in Postman\n\n1. Open Postman\n2. Import the provided Postman collection:\n   `challenge-4-lateshow.postman_collection.json`\n3. Test all the endpoints using real or seed data.\n\n---\n\n## 🧑 Author\n\n**Edwin Mammet**\n\n---\n\n## 📄 License\n\nThis project is licensed under the MIT License.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmammet-tech%2Flateshow-edwin-mammet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmammet-tech%2Flateshow-edwin-mammet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmammet-tech%2Flateshow-edwin-mammet/lists"}