An open API service indexing awesome lists of open source software.

https://github.com/guibranco/bookmarks-manager-api

๐Ÿ—„๏ธ๐Ÿ”–A RESTful API for managing bookmarks, built with PHP and MySQL, using the GuiBranco\Panckage library for a structured and efficient backend. Designed to integrate seamlessly with the Bookmark Manager UI for storing, organizing, and retrieving bookmarks.
https://github.com/guibranco/bookmarks-manager-api

Last synced: 7 months ago
JSON representation

๐Ÿ—„๏ธ๐Ÿ”–A RESTful API for managing bookmarks, built with PHP and MySQL, using the GuiBranco\Panckage library for a structured and efficient backend. Designed to integrate seamlessly with the Bookmark Manager UI for storing, organizing, and retrieving bookmarks.

Awesome Lists containing this project

README

          

# ๐Ÿ—„๏ธ๐Ÿ”– Bookmarks Manager (API)

A **RESTful API** for managing bookmarks, built with **PHP 8.3** and **MySQL**, using the **GuiBranco\Panckage** library for structured and efficient development. Designed to integrate seamlessly with the **Bookmark Manager UI** to store, organize, and retrieve bookmarks.

## ๐Ÿš€ Features
- ๐Ÿ“‚ **Bookmark Management** โ€“ Create, update, delete, and retrieve bookmarks.
- ๐Ÿท **Folder and Tag Organization** โ€“ Categorize bookmarks efficiently.
- ๐Ÿ” **Search & Filtering** โ€“ Find bookmarks quickly.
- ๐Ÿ›ก **Secure & Scalable** โ€“ Built with modern PHP best practices.
- ๐Ÿงช **Unit and Integration Tests** โ€“ Ensuring reliability.
- ๐Ÿณ **Docker Support** โ€“ Easily run and test in an isolated environment.
- โš™๏ธ **GitHub Actions for Migrations** โ€“ Automating database schema updates.

## ๐Ÿ›  Tech Stack
- **Frontend**: [Bookmarks Manager UI](https://github.com/guibranco/bookmarks-manager-ui/)
- **Backend**: PHP 8.3
- **Database**: MySQL
- **Libraries**: [GuiBranco\Pancake](https://github.com/guibranco/pancake)
- **Testing**: Unit and Integration Tests with PHPUnit
- **Containerization**: Docker
- **CI/CD**: GitHub Actions for build, test, database migrations, and deployments

## ๐Ÿ“ฆ Installation

Clone the repository and install dependencies:

```bash
# Clone the repo
git clone https://github.com/guibranco/bookmarks-manager-api.git
cd bookmarks-manager-api

# Install dependencies
composer install
```

## ๐Ÿ”ง Usage

### Start the API Locally

```bash
php -S localhost:8000 -t public
```

### Run the Test Suite

```bash
docker-compose up -d # Start the test database
tests/run-tests.sh # Execute tests
```

## ๐Ÿ”„ Database Migrations

Migrations are automatically applied via **GitHub Actions** during deployment. To run them manually:

```bash
php artisan migrate
```

## ๐Ÿ“œ License
This project is licensed under the [MIT License](LICENSE).

---

๐Ÿ’ก **Contributions are welcome!** Feel free to submit issues or pull requests to improve the project. ๐Ÿš€