This project is built with the Laravel framework, which provides an expressive and elegant syntax, easing common tasks like routing, authentication, and database migrations. The project includes various features like user authentication, dynamic content display, and other powerful tools that streamline web application development.
live link: https://book-store-frontend-8ss5.onrender.com
- email address: testuser@gmail.com
- password: 123456789
Link to frontend Repo: https://github.com/katfogy/book-store-frontend
- Create a new book.
- Retrieve a list of books.
- Retrieve details of a specific book.
- Update a book.
- Delete a book.
- Create a new author.
- Retrieve a list of authors.
- Retrieve details of a specific author.
- Update an author.
- Delete an author.
- Implement HTTPOnly cookies for authentication.
- Secure API endpoints so that only authenticated users can perform CRUD operations.
- Validate incoming requests for creating and updating books and authors.
- Provide appropriate error messages for invalid requests.
- Design a MySQL database schema to store books and authors.
- Use Laravel’s Eloquent ORM to interact with the database.
To set up this project locally, follow the steps below:
-
Clone the Repository:
git clone https://github.com/katfogy/bookstore-API.git cd project-directory
-
Install Dependencies: Ensure that you have Composer installed. Then run:
composer install
-
Copy the .env file:
cp .env.example .env
-
Generate Application Key:
php artisan key:generate
-
Set up Database:
- Update your
.env
file with your database credentials. - Run the migrations to set up the database:
php artisan migrate
- Update your
-
Serve the Application: Run the Laravel development server:
php artisan serve
Now, the project should be up and running at http://localhost:8000.
- Code is well-documented, and you can find comments in the codebase explaining key logic.
- Detailed API documentation can be found in the docs directory.
Once deployed, you can access the live demo here: Live Demo.
Laravel has extensive documentation to get you started, including Laravel Bootcamp and Laracasts for video tutorials.
Thank you for considering contributing! Check out the contribution guide for more information.
This project is licensed under the MIT license.