{"id":19281827,"url":"https://github.com/scisamir/airbnb_clone","last_synced_at":"2026-05-18T14:10:32.910Z","repository":{"id":200128598,"uuid":"703366355","full_name":"scisamir/AirBnB_clone","owner":"scisamir","description":"AirBnB Clone - The console \u0026 Web static","archived":false,"fork":false,"pushed_at":"2023-10-21T17:01:29.000Z","size":47,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-23T22:21:12.016Z","etag":null,"topics":["css3","html5","python3","unit-testing"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/scisamir.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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-11T05:39:13.000Z","updated_at":"2023-11-01T06:18:16.000Z","dependencies_parsed_at":"2023-10-15T21:48:10.307Z","dependency_job_id":"896df1a8-8213-4b41-a152-2e6d45a7b2a6","html_url":"https://github.com/scisamir/AirBnB_clone","commit_stats":null,"previous_names":["scisamir/airbnb_clone"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/scisamir/AirBnB_clone","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scisamir%2FAirBnB_clone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scisamir%2FAirBnB_clone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scisamir%2FAirBnB_clone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scisamir%2FAirBnB_clone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scisamir","download_url":"https://codeload.github.com/scisamir/AirBnB_clone/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scisamir%2FAirBnB_clone/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33180419,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T09:27:30.708Z","status":"ssl_error","status_checked_at":"2026-05-18T09:27:28.300Z","response_time":71,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["css3","html5","python3","unit-testing"],"created_at":"2024-11-09T21:24:22.954Z","updated_at":"2026-05-18T14:10:32.874Z","avatar_url":"https://github.com/scisamir.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AirBnB Clone\n\t0x00. AirBnB clone - The console\n ## This project aims to create a clone of the AirBnB website\n\n ## First Step:\n\n ### Objects (classes), serialization and deserialization, file storage, and unittests:\n- put in place a parent class (called BaseModel) to take care of the initialization, serialization and deserialization of your future instances\n- create a simple flow of serialization/deserialization: Instance \u003c-\u003e Dictionary \u003c-\u003e JSON string \u003c-\u003e file\n- create all classes used for AirBnB (User, State, City, Place…) that inherit from BaseModel\n- create the first abstracted storage engine of the project: File storage.\n- create all unittests to validate all our classes and storage engine\n\n### Command Intepreter:\n- Create a new object (ex: a new User or a new Place)\n- Retrieve an object from a file, a database etc…\n- Do operations on objects (count, compute stats, etc…)\n- Update attributes of an object\n- Destroy an object\n\n## Usage\n\n### starting the command intepreter\n```\n$ ./console.py\n(hbnb) help\n\nDocumented commands (type help \u003ctopic\u003e):\n========================================\nEOF  all  create  destroy  help  quit  show  update\n\n(hbnb)\n$\n```\n\n### create\n```\n(hbnb) create BaseModel\n6f4de530-9179-470b-8ea8-fa2e121800d5\n(hbnb) create User\n20061fa2-e05b-449d-9b3a-0929dce66afc\n(hbnb)\n```\n\n### show\n```\n(hbnb) show User 20061fa2-e05b-449d-9b3a-0929dce66afc\n[User] (20061fa2-e05b-449d-9b3a-0929dce66afc) {'id': '20061fa2-e05b-449d-9b3a-0929dce66afc', 'created_at': datetime.datetime(2023, 10, 17, 7, 12, 59, 639440), 'updated_at': datetime.datetime(2023, 10, 17, 7, 12, 59, 643343)}\n(hbnb)\n```\n\n### destroy\n```\n(hbnb) destroy User 20061fa2-e05b-449d-9b3a-0929dce66afc\n(hbnb) show User 20061fa2-e05b-449d-9b3a-0929dce66afc\n** no instance found **\n(hbnb)\n```\n\n### all\n```\n(hbnb) create BaseModel\n56792a12-6173-4b4f-b178-f52b9a9e413e\n(hbnb) all\n[\"[BaseModel] (56792a12-6173-4b4f-b178-f52b9a9e413e) {'id': '56792a12-6173-4b4f-b178-f52b9a9e413e', 'created_at': datetime.datetime(2023, 10, 17, 7, 18, 26, 124398), 'updated_at': datetime.datetime(2023, 10, 17, 7, 18, 26, 126686)}\"]\n(hbnb) create User\n949e96ae-d3e9-4716-aba5-49094f8b6377\n(hbnb) all\n[\"[BaseModel] (56792a12-6173-4b4f-b178-f52b9a9e413e) {'id': '56792a12-6173-4b4f-b178-f52b9a9e413e', 'created_at': datetime.datetime(2023, 10, 17, 7, 18, 26, 124398), 'updated_at': datetime.datetime(2023, 10, 17, 7, 18, 26, 126686)}\", \"[User] (949e96ae-d3e9-4716-aba5-49094f8b6377) {'id': '949e96ae-d3e9-4716-aba5-49094f8b6377', 'created_at': datetime.datetime(2023, 10, 17, 7, 18, 34, 946231), 'updated_at': datetime.datetime(2023, 10, 17, 7, 18, 34, 948960)}\"]\n(hbnb)\n```\n\n### update\n```\n(hbnb) show BaseModel 56792a12-6173-4b4f-b178-f52b9a9e413e\n[BaseModel] (56792a12-6173-4b4f-b178-f52b9a9e413e) {'id': '56792a12-6173-4b4f-b178-f52b9a9e413e', 'created_at': datetime.datetime(2023, 10, 17, 7, 18, 26, 124398), 'updated_at': datetime.datetime(2023, 10, 17, 7, 18, 26, 126686)}\n(hbnb) update BaseModel 56792a12-6173-4b4f-b178-f52b9a9e413e first_name \"My name\"\n(hbnb) show BaseModel 56792a12-6173-4b4f-b178-f52b9a9e413e\n[BaseModel] (56792a12-6173-4b4f-b178-f52b9a9e413e) {'id': '56792a12-6173-4b4f-b178-f52b9a9e413e', 'created_at': datetime.datetime(2023, 10, 17, 7, 18, 26, 124398), 'updated_at': datetime.datetime(2023, 10, 17, 7, 18, 26, 126686), 'first_name': 'My name'}\n(hbnb)\n```\n\n### quit\n```\n(hbnb)\n(hbnb) quit\n$\n```\n\n## Other variants of the commands above are:\n- `\u003cclass name\u003e.all()` - to retrieve all instances of a class\n- `\u003cclass name\u003e.count()` - to retrieve the number of instances of a class\n- `\u003cclass name\u003e.show(\u003cid\u003e)` - to retrieve an instance based on its ID\n- `\u003cclass name\u003e.destroy(\u003cid\u003e)` - to destroy an instance based on his ID\n- `\u003cclass name\u003e.update(\u003cid\u003e, \u003cattribute name\u003e, \u003cattribute value\u003e)` - to update an instance based on his ID\n\n\n### AUTHORS\n* [Samir Idris](https://scisamir.vercel.app/)\n* [Kingsley Isidore]()\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscisamir%2Fairbnb_clone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscisamir%2Fairbnb_clone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscisamir%2Fairbnb_clone/lists"}