|
1 |
| -<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400" alt="Laravel Logo"></a></p> |
| 1 | +# Blog REST API Laravel |
2 | 2 |
|
3 |
| -<p align="center"> |
4 |
| -<a href="https://github.com/laravel/framework/actions"><img src="https://github.com/laravel/framework/workflows/tests/badge.svg" alt="Build Status"></a> |
5 |
| -<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/dt/laravel/framework" alt="Total Downloads"></a> |
6 |
| -<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/v/laravel/framework" alt="Latest Stable Version"></a> |
7 |
| -<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/l/laravel/framework" alt="License"></a> |
8 |
| -</p> |
| 3 | +This is a Laravel based REST API for a blog application. |
| 4 | +## Features |
9 | 5 |
|
10 |
| -## About Laravel |
| 6 | +- **User Authentication:** Secure login and registration using **Sanctum**. |
| 7 | +- **Role Permission:** Manage user roles and permissions. |
| 8 | +- **CRUD Operations:** Create, read, update, and delete blog posts, categories and comments. |
| 9 | +- **Database Migrations:** Easily set up and manage the database schema. |
| 10 | +- **API Documentation:** Comprehensive documentation *coming soon*. |
| 11 | +- **Testing:** Pest tests for ensuring code quality. |
| 12 | +- **Error Handling:** Graceful error handling and validation. |
| 13 | +- **Pagination:** Efficiently paginate large sets of data. |
| 14 | +- **CORS Support:** Cross-Origin Resource Sharing enabled. |
11 | 15 |
|
12 |
| -Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as: |
| 16 | +## Prerequisites |
13 | 17 |
|
14 |
| -- [Simple, fast routing engine](https://laravel.com/docs/routing). |
15 |
| -- [Powerful dependency injection container](https://laravel.com/docs/container). |
16 |
| -- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage. |
17 |
| -- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent). |
18 |
| -- Database agnostic [schema migrations](https://laravel.com/docs/migrations). |
19 |
| -- [Robust background job processing](https://laravel.com/docs/queues). |
20 |
| -- [Real-time event broadcasting](https://laravel.com/docs/broadcasting). |
| 18 | +- PHP >= 8.2 |
| 19 | +- Composer |
| 20 | +- Node.js & npm |
| 21 | +- MySQL or any other supported database |
| 22 | +- Git |
21 | 23 |
|
22 |
| -Laravel is accessible, powerful, and provides tools required for large, robust applications. |
| 24 | +## Installation |
23 | 25 |
|
24 |
| -## Learning Laravel |
| 26 | +1. **Clone the repository:** |
25 | 27 |
|
26 |
| -Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework. |
| 28 | + ```sh |
| 29 | + git clone https://github.com/thatal/blog-api-laravel.git |
| 30 | + cd blog-api-laravel |
| 31 | + ``` |
27 | 32 |
|
28 |
| -You may also try the [Laravel Bootcamp](https://bootcamp.laravel.com), where you will be guided through building a modern Laravel application from scratch. |
| 33 | +2. **Install dependencies:** |
29 | 34 |
|
30 |
| -If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains thousands of video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library. |
| 35 | + ```sh |
| 36 | + composer install |
| 37 | + npm install |
| 38 | + ``` |
31 | 39 |
|
32 |
| -## Laravel Sponsors |
| 40 | +3. **Copy the example environment file and configure the environment variables:** |
33 | 41 |
|
34 |
| -We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the [Laravel Partners program](https://partners.laravel.com). |
| 42 | + ```sh |
| 43 | + cp .env.example .env |
| 44 | + ``` |
35 | 45 |
|
36 |
| -### Premium Partners |
| 46 | + Update the `.env` file with your database and other configurations. |
37 | 47 |
|
38 |
| -- **[Vehikl](https://vehikl.com/)** |
39 |
| -- **[Tighten Co.](https://tighten.co)** |
40 |
| -- **[WebReinvent](https://webreinvent.com/)** |
41 |
| -- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)** |
42 |
| -- **[64 Robots](https://64robots.com)** |
43 |
| -- **[Curotec](https://www.curotec.com/services/technologies/laravel/)** |
44 |
| -- **[Cyber-Duck](https://cyber-duck.co.uk)** |
45 |
| -- **[DevSquad](https://devsquad.com/hire-laravel-developers)** |
46 |
| -- **[Jump24](https://jump24.co.uk)** |
47 |
| -- **[Redberry](https://redberry.international/laravel/)** |
48 |
| -- **[Active Logic](https://activelogic.com)** |
49 |
| -- **[byte5](https://byte5.de)** |
50 |
| -- **[OP.GG](https://op.gg)** |
| 48 | +4. **Generate the application key:** |
51 | 49 |
|
52 |
| -## Contributing |
| 50 | + ```sh |
| 51 | + php artisan key:generate |
| 52 | + ``` |
| 53 | + |
| 54 | +5. **Run the database migrations:** |
| 55 | + |
| 56 | + ```sh |
| 57 | + php artisan migrate |
| 58 | + ``` |
| 59 | + |
| 60 | +6. **Seed the database (optional):** |
| 61 | + |
| 62 | + ```sh |
| 63 | + php artisan db:seed |
| 64 | + ``` |
| 65 | + |
| 66 | +7. **Run the development server:** |
53 | 67 |
|
54 |
| -Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions). |
| 68 | + ```sh |
| 69 | + php artisan serve |
| 70 | + ``` |
| 71 | +## Running Tests |
55 | 72 |
|
56 |
| -## Code of Conduct |
| 73 | +To run the tests, use the following command: |
| 74 | + |
| 75 | +```sh |
| 76 | +php artisan test |
| 77 | +``` |
| 78 | +## Milestone |
| 79 | + |
| 80 | +- **Version 1.0:** |
| 81 | + - Initial release with basic blog functionalities REST api. |
| 82 | + - User authentication and authorization. |
| 83 | + - CRUD operations for posts, categories and comments. |
| 84 | + - Basic testing setup. |
| 85 | + |
| 86 | +- **Version 1.1:** |
| 87 | + - [ ] Adding slug support for SEO-friendly URLs. *(coming soon)* |
| 88 | + - [ ] Adding tags and media support. *(coming soon)* |
| 89 | + - [ ] API documentation using Swagger or Postman. *(coming soon)* |
| 90 | + - [ ] Improved error handling and validation. *(coming soon)* |
| 91 | + - [ ] Additional tests for improved code coverage. *(coming soon)* |
| 92 | + - [ ] Improved pagination, searching & sorting. *(coming soon)* |
| 93 | + |
| 94 | +- **Version 1.2:** |
| 95 | + - [ ] Implementing caching for improved performance. *(pending)* |
| 96 | + - [ ] Implementing rate limiting for API requests. *(pending)* |
| 97 | + - [ ] Implementing email notifications for new posts. *(pending)* |
| 98 | + - [ ] Implementing a user profile page. *(pending)* |
| 99 | + - [ ] Adding support for multiple languages. *(pending)* |
| 100 | + - [ ] Implementing a search feature for posts. *(pending)* |
| 101 | + - [ ] Adding a feature to like and share posts. *(pending)* |
| 102 | + |
| 103 | +## Contributing |
57 | 104 |
|
58 |
| -In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct). |
| 105 | +Contributions are welcome! Here's how you can help: |
59 | 106 |
|
60 |
| -## Security Vulnerabilities |
| 107 | +- **Reporting issues:** If you find any bugs or issues, please open a GitHub issue. |
| 108 | +- **Suggesting features:** If you have any suggestions or would like to request a feature, please open a GitHub issue. |
| 109 | +- **Opening pull requests:** If you'd like to contribute directly to the codebase, please fork this repository and submit a pull request. |
| 110 | +- **Ensuring tests pass:** Make sure all existing test cases pass before submitting a pull request. |
| 111 | +- **Adding tests:** Include test cases for any new features or changes you introduce. |
61 | 112 |
|
62 |
| -If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed. |
63 | 113 |
|
64 | 114 | ## License
|
65 | 115 |
|
66 |
| -The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT). |
| 116 | +This project is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT). |
0 commit comments