{"id":19345180,"url":"https://github.com/tolmen/ocp7_bilemo","last_synced_at":"2025-02-24T09:26:47.335Z","repository":{"id":258277982,"uuid":"873754595","full_name":"TolMen/OCP7_BileMo","owner":"TolMen","description":"Projet API_Symfony - OpenClassrooms (Développeur d'application PHP/Symfony)","archived":false,"fork":false,"pushed_at":"2024-11-06T10:41:31.000Z","size":866,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-06T11:40:06.011Z","etag":null,"topics":["api-rest","openclassrooms","php","symfony"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/TolMen.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":"2024-10-16T16:58:12.000Z","updated_at":"2024-11-06T10:50:48.000Z","dependencies_parsed_at":"2024-10-21T11:24:36.394Z","dependency_job_id":"d39c9b19-87e6-4102-b1bb-15bf556a71d8","html_url":"https://github.com/TolMen/OCP7_BileMo","commit_stats":null,"previous_names":["tolmen/ocbilemo","tolmen/ocp7_bilemo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TolMen%2FOCP7_BileMo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TolMen%2FOCP7_BileMo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TolMen%2FOCP7_BileMo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TolMen%2FOCP7_BileMo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TolMen","download_url":"https://codeload.github.com/TolMen/OCP7_BileMo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240451916,"owners_count":19803539,"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":["api-rest","openclassrooms","php","symfony"],"created_at":"2024-11-10T04:05:14.882Z","updated_at":"2025-02-24T09:26:47.313Z","avatar_url":"https://github.com/TolMen.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Bile Mo API 📱\n\n\u003e **This project was completed as part of my learning journey for the OpenClassrooms (PHP/Symfony Application Developer) program.**  \n\u003e --\u003e *Version : [Français](README_fr.md)* 📖 \u003cbr\u003e\n\u003e --\u003e *Documentation : [API Doc](https://github.com/TolMen/DocumentationAPIBileMo)* 📃\n\n## 📖 Description\n\n**Bile Mo API** is an API for a company specializing in the sale of high-end mobile phones, providing access to its catalog through a B2B (Business to Business) interface. \u003cbr\u003e\nAccess to the API is restricted to registered clients who must authenticate via a JWT token. \u003cbr\u003e\nData is exposed in JSON format, following levels 1, 2, and 3 of the Richardson model. \u003cbr\u003e\nResponses are cached to improve query performance.\n\n## 🚀 Features\n\n- **JWT Authentication** : Secure access via a JWT token to validate user identity.\n- **Catalog Management** : Access to the company’s product catalog with detailed information on mobile phones.\n- **Response Caching** : Responses are cached to optimize performance.\n- **RESTful Architecture** : Follows the three-level Richardson model.\n- **Secure Communication** : Secured exchanges with clients using JWT.\n\n## 🚧 Installation\n\n### Prerequisites\n\nBefore you start, ensure that you have the following installed on your machine :\n\n- **PHP** (version 8.0 or higher)\n- **Symfony** (version 7 or higher)\n- **Composer**\n- **MySQL Database**\n\n### Installation steps\n\n1. **Clone the repository**  \n   Use Git to clone the project :  \n   ```sh\n   git clone https://github.com/TolMen/OCBileMo.git\n   ```\n2. **Install dependencies**  \n   Run the following command to install the necessary libraries :  \n   ```sh\n   symfony console composer install\n   ```\n\n3. **Create the database**  \n   Modify the `.env` file to configure your database :  \n   ```sh\n   DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name\n   ```\n   Then run the following commands :  \n   ```sh\n   symfony console doctrine:database:create\n   php bin/console doctrine:schema:update --force\n   ```\n\n4. **Configure JWT**  \n   Install the JWT package and generate secret keys :  \n   ```sh\n   composer require lexik/jwt-authentication-bundle\n   php bin/console lexik:jwt:generate-keypair\n   ```\n   Make sure the paths to the private and public key files are correctly defined in your `.env` file :  \n   ```sh\n   JWT_PASSPHRASE=YourSecretPhrase\n   ```\n---\n\nThank you for exploring this project.  \nFeel free to explore, modify, and improve it ! ✨  \n\n**For any questions or collaboration, don't hesitate to contact me ! 📩**\n\n[TolMen](https://github.com/TolMen) - [LinkedIn](https://www.linkedin.com/in/jessyfrachisse/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftolmen%2Focp7_bilemo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftolmen%2Focp7_bilemo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftolmen%2Focp7_bilemo/lists"}