Skip to content

BorschCode/task_planner.api

Repository files navigation

Todo List API

OpenAPI Lint Status PHP Symfony Docker


Description

This API provides the ability to:

  • Retrieve a list of your tasks with filters.
  • Create your own tasks.
  • Edit your tasks.
  • Delete your tasks.
  • Mark your tasks as completed.

api docs

📌 Public Static Swagger (GitHub Pages)

A static version of the API documentation is available here:

👉 https://borschcode.github.io/task_planner.api/swagger.html

Use it to preview the API without running the project locally.


api docs


How to Run

Docker-ready project
All Docker variables are read from the .env file — just run make build to create a new instance.


1. Clone the Symfony Project

git clone https://github.com/ZhoraKornev/task_planner.api
cp .env.example .env
cd task_planner.api

2. Prepare Docker Compose Override

Create a file docker-compose.override.yml and configure services: PHP, Nginx/Apache, MySQL/MariaDB, etc.

3. Build and Start Containers

docker compose up -d

4. Enter the PHP Container

docker compose exec php bash

5. Install Composer Dependencies

composer install

6. Run Symfony Commands

bin/console cache:clear
bin/console doctrine:migrations:migrate
bin/console doctrine:fixtures:load

7. Access the Application

Open in browser:

http://localhost

Test credentials from fixtures:

Email: test@user.email
Pass: 123

8. Stop Containers

docker compose down

Helpful Docs

📌 Local API Documentation

http://localhost/api_documentation

api docs


Tech Stack

  • Nginx
  • PHP 8.2
  • MariaDB 10.10.3
  • RabbitMQ
  • Symfony 6.3

About

A Docker-ready Symfony 6.3 API for managing personal tasks (Todo List). Includes authentication, CRUD operations, filtering, and task completion workflows. Features OpenAPI 3 documentation, MariaDB, RabbitMQ, and automated CI linting.

Resources

Stars

Watchers

Forks

Contributors