{"id":15103777,"url":"https://github.com/rinaldilucas/laravel-school-api","last_synced_at":"2026-01-18T10:28:26.904Z","repository":{"id":203198453,"uuid":"709053894","full_name":"rinaldilucas/laravel-school-api","owner":"rinaldilucas","description":"An api built using Laravel and MySQL.","archived":false,"fork":false,"pushed_at":"2025-01-09T23:52:22.000Z","size":237,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-05T12:30:01.771Z","etag":null,"topics":["laravel","mysql","php","phpunit","swagger"],"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/rinaldilucas.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":"2023-10-23T23:16:02.000Z","updated_at":"2025-01-09T23:52:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"31e4afa6-d459-4d4d-add6-73a7cd6e71c9","html_url":"https://github.com/rinaldilucas/laravel-school-api","commit_stats":{"total_commits":6,"total_committers":1,"mean_commits":6.0,"dds":0.0,"last_synced_commit":"ad5557e46f9e1583f43532ec33222a891ce5254d"},"previous_names":["rinaldilucas/laravel-school-api"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/rinaldilucas/laravel-school-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rinaldilucas%2Flaravel-school-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rinaldilucas%2Flaravel-school-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rinaldilucas%2Flaravel-school-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rinaldilucas%2Flaravel-school-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rinaldilucas","download_url":"https://codeload.github.com/rinaldilucas/laravel-school-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rinaldilucas%2Flaravel-school-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28534397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T10:13:46.436Z","status":"ssl_error","status_checked_at":"2026-01-18T10:13:11.045Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["laravel","mysql","php","phpunit","swagger"],"created_at":"2024-09-25T19:42:05.206Z","updated_at":"2026-01-18T10:28:26.887Z","avatar_url":"https://github.com/rinaldilucas.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv id=\"top\"\u003e\u003c/div\u003e\n\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![MIT License][license-shield]][license-url]\n[![LinkedIn][linkedin-shield]][linkedin-url]\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/rinaldilucas/laravel-school-api\"\u003e\n    \u003cimg src=\"./public/images/logo.png\" alt=\"Logo\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003eLaravel School REST API\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    Project built using PHP, Laravel, Composer, and MySQL \u003cbr\u003eto jump-start your studies!\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/rinaldilucas/laravel-school-api\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003cs\u003eView App\u003c/s\u003e\n    · \n    \u003ca href=\"#donations\"\u003eDonate\u003c/a\u003e       \n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#donations\"\u003eDonations\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n\n## About The Project\n\n\u003cdiv align=\"center\"\u003e\n\n[![Project Screenshot][project-screenshot]](https://rinaldilucas.github.io/laravel-school-api/)\n\n\u003c/div\u003e\n\nThis straightforward project was created using Laravel for educational purposes. If you found this repository helpful, please feel free to show your support by giving it a star or contributing via a pull request!\n\nHere are some of the features:\n\n### Backend\n\n-   Built using REST API practices\n-   Authentication using Sanctum\n-   Password encryption using bcrypt with salt rounds\n-   Authentication with brute force prevention using ExpressBrute\n-   Example of a migration changing columns and handling data on production\n-   Custom command to run migrations and seeders\n-   API documentation using Swagger\n-   Several test examples using PHPUnit\n-   Package management using composer\n-   Factories using faker to help with tests and seeding\n-   Example of endpoint receiving http data with custom names\n-   Data removal using soft delete\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Built With\n\nThis section shows what technologies are used in this particular project.\n\n-   [PHP](https://www.php.net/)\n-   [Laravel](https://laravel.com/)\n-   [Composer](https://getcomposer.org/)\n-   [MySQL](https://www.mysql.com/)\n-   [PHPUnit](https://phpunit.de/)\n-   [Swagger](https://swagger.io/)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n\n## Getting Started\n\nAfter cloning the project, you need to do a few things to be able to run it.\n\n### Prerequisites\n\nYou need to have the following requirements:\n\n-   mysql \u003ca target=\"_blank\" href=\"https://dev.mysql.com/downloads/mysql/\"\u003e(download here)\u003c/a\u003e\n-   composer \u003ca target=\"_blank\" href=\"https://getcomposer.org/download/\"\u003e(download here)\u003c/a\u003e\n-   php 8.2 \u003ca target=\"_blank\" href=\"https://www.php.net/downloads.php\"\u003e(download here)\u003c/a\u003e\n-   apache \u003ca target=\"_blank\" href=\"https://httpd.apache.org/download.cgi\"\u003e(download here for Linux)\u003c/a\u003e\n    or\n-   xampp \u003ca target=\"_blank\" href=\"https://www.apachefriends.org/\"\u003e(download here)\u003c/a\u003e\n\n### Installation\n\n_Below is an example of how you can run the project._\u003cbr\u003e\n_More scripts at package.json_\n\n1. Clone the repo\n    ```sh\n    git clone https://github.com/rinaldilucas/laravel-school-api.git\n    ```\n2. Setup the necessary environment variables\n    ```\n    https://medium.com/chingu/an-introduction-to-environment-variables-and-how-to-use-them-f602f66d15fa\n    ```\n3. Install packages via composer\n    ```sh\n    composer install\n    ```\n4. Populate the database\n    ```js\n    php artisan custom:run\n    ```\n5. Run tests\n    ```js\n    php artisan test\n    ```\n    \u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- USAGE EXAMPLES --\u003e\n\n## Usage\n\nYou can seed the database as shown before or seed the database via `./database/database.sql`. You can also import the Insomnia routes via file `./database/routes-collection.json`.\u003cbr\u003eBelow are the implemented routes: you also can view them inside `./routes/api.php` file or through the Swagger documentation at `http://localhost:80/api/documentation/`.\n\n```js\n-------------------------------\n-------- [AUTH ROUTES] --------\n-------------------------------\n[POST] localhost:80/api/auth/login -\u003e 'login'\n```\n\n```js\n-------------------------------\n-------- [USER ROUTES] --------\n-------------------------------\n[GET] localhost:80/api/user -\u003e 'getOne'\n```\n\n```js\n-------------------------------\n------- [SCHOOL ROUTES] -------\n-------------------------------\n[GET] localhost:80/api/escolas -\u003e 'getAll'\n[GET] localhost:80/api/escolas/{id}/alunos -\u003e 'getAllStudentsBySchool'\n```\n\n```js\n-------------------------------\n------ [STUDENT ROUTES] -------\n-------------------------------\n[POST] localhost:80/api/alunos -\u003e 'create'\n[PUT] localhost:80/api/alunos/{id} -\u003e 'update'\n[DELETE] localhost:80/api/alunos/{id} -\u003e 'remove'\n```\n\n```js\n-------------------------------\n------ [CLASSROOM ROUTES] -----\n-------------------------------\n[GET] localhost:80/api/turmas/{id}/alunos -\u003e 'getAllStudentsByClassroom'\n[POST] localhost:80/api/turmas -\u003e 'create'\n[PUT] localhost:80/api/turmas/{id} -\u003e 'update'\n[DELETE] localhost:80/api/turmas/{id} -\u003e 'remove'\n```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTRIBUTING --\u003e\n\n## Contributing\n\nContributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/amazing-feature`)\n3. Commit your Changes (`git commit -m 'feat: add some amazing feature'`)\n4. Push to the Branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LICENSE --\u003e\n\n## License\n\nDistributed under the MIT License. See [LICENSE](./LICENSE) for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTACT --\u003e\n\n## Contact\n\n[![Website](https://img.shields.io/badge/-Website-0078D4?style=flat-square\u0026logo=html5\u0026logoColor=white\u0026link=https://lucasreinaldi.com.br)](https://rinaldilucas.com)\n[![Github](https://img.shields.io/badge/-Github-967bb5?style=flat-square\u0026labelColor=967bb5\u0026logo=github\u0026logoColor=white\u0026link=https://github.com/rinaldilucas)](https://github.com/rinaldilucas)\n[![Gmail Badge](https://img.shields.io/badge/-Gmail-c14438?style=flat-square\u0026logo=Gmail\u0026logoColor=white\u0026link=mailto:lucasreinaldi@gmail.com)](mailto:lucasreinaldi@gmail.com)\n[![Hotmail Badge](https://img.shields.io/badge/-Hotmail-0078D4?style=flat-square\u0026logo=microsoft-outlook\u0026logoColor=white\u0026link=mailto:lucasreinaldi@hotmail.com)](mailto:lucasreinaldi@hotmail.com)\n[![Linkedin Badge](https://img.shields.io/badge/-LinkedIn-blue?style=flat-square\u0026logo=Linkedin\u0026logoColor=white\u0026link=https://www.linkedin.com/in/rinaldilucas/)](https://www.linkedin.com/in/rinaldilucas/)\n[![Telegram Badge](https://img.shields.io/badge/-Telegram-1ca0f1?style=flat-square\u0026labelColor=1ca0f1\u0026logo=telegram\u0026logoColor=white\u0026link=https://t.me/rinaldilucas)](https://t.me/rinaldilucas)\n\nProject Link: [https://github.com/rinaldilucas/laravel-school-api](https://github.com/rinaldilucas/laravel-school-api)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- ACKNOWLEDGMENTS --\u003e\n\n## Donations\n\nIf you feel that this project has helped you in any way, whether it's attracting clients or teaching you about the technologies used, feel free to make a donation.\nIt helps me a lot to continue developing open-source codes.\n\n-   Metamask (USDT):\n    ```sh\n    0x16362DF7f963CeEBB2114B467B68F5A58972ee65\n    ```\n-   PIX (BRL):\n    ```sh\n    72140bc8-fadc-42f5-abb6-9c13cc80a59f\n    ```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n\n[contributors-shield]: https://img.shields.io/github/contributors/rinaldilucas/laravel-school-api.svg?style=for-the-badge\n[contributors-url]: https://github.com/rinaldilucas/laravel-school-api/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/rinaldilucas/laravel-school-api.svg?style=for-the-badge\n[forks-url]: https://github.com/rinaldilucas/laravel-school-api/network/members\n[stars-shield]: https://img.shields.io/github/stars/rinaldilucas/laravel-school-api.svg?style=for-the-badge\n[stars-url]: https://github.com/rinaldilucas/laravel-school-api/stargazers\n[license-shield]: https://img.shields.io/github/license/rinaldilucas/laravel-school-api.svg?style=for-the-badge\n[license-url]: https://github.com/rinaldilucas/laravel-school-api/blob/master/LICENSE.txt\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://www.linkedin.com/in/rinaldilucas/\n[project-screenshot]: ./public/images/screenshot.jpg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frinaldilucas%2Flaravel-school-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frinaldilucas%2Flaravel-school-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frinaldilucas%2Flaravel-school-api/lists"}