|
1 | | -# API для Todo List |
| 1 | +# Todo List API |
| 2 | + |
| 3 | +[](#) |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | +--- |
2 | 10 |
|
3 | 11 | ## Description |
4 | | -API надає можливість: |
5 | | -- Отримати список своїх завдань відповідно до фільтра. |
6 | | -- Створити своє завдання. |
7 | | -- Редагувати своє завдання. |
8 | | -- Видалити своє завдання. |
9 | | -- Відзначити своє завдання як виконане. |
10 | 12 |
|
11 | | - |
| 13 | +This API provides the ability to: |
12 | 14 |
|
| 15 | +* Retrieve a list of your tasks with filters. |
| 16 | +* Create your own tasks. |
| 17 | +* Edit your tasks. |
| 18 | +* Delete your tasks. |
| 19 | +* Mark your tasks as completed. |
13 | 20 |
|
| 21 | + |
14 | 22 |
|
15 | 23 |  |
16 | 24 |
|
| 25 | +--- |
17 | 26 |
|
18 | | -## How to run |
19 | | - |
20 | | -**Docker ready project** |
21 | | -all variables for docker come from dot env file - so just run make build, |
22 | | -and you create a new instance |
23 | | - |
24 | | -1. **Clone the Symfony Project Repository:** |
25 | | - ```bash |
26 | | - git clone https://github.com/ZhoraKornev/task_planner.api |
27 | | - cp .env.example .env |
28 | | - cd task_planner.api |
29 | | - ``` |
30 | | - |
31 | | -2. **Prepare Docker Compose File:** |
32 | | - Create a `docker-compose.override.yml` file in the root of your Symfony project directory. |
33 | | - Add the necessary services like PHP, Nginx/Apache, MySQL, etc., along with relevant configurations. |
34 | | - |
35 | | -3. **Build and Start Docker Containers:** |
36 | | - In your terminal, run the following command to build and start the Docker containers: |
37 | | - ```bash |
38 | | - docker compose up -d |
39 | | - ``` |
40 | | - |
41 | | -4. **Access PHP Bash in the Docker Container:** |
42 | | - To enter the PHP container's bash, use the following command: |
43 | | - ```bash |
44 | | - docker compose exec php bash |
45 | | - ``` |
46 | | - |
47 | | -5. **Install Project Dependencies with Composer:** |
48 | | - Once inside the PHP container, navigate to the Symfony project root directory and run Composer to install project dependencies: |
49 | | - ```bash |
50 | | - composer install |
51 | | - ``` |
52 | | - |
53 | | -6. **Symfony's Command Execution:** |
54 | | - After installing the dependencies, you can run Symfony's commands as needed, for example: |
55 | | - ```bash |
56 | | - bin/console cache:clear |
57 | | - bin/console doctrine:migrations:migrate |
58 | | - bin/console doctrine:fixtures:load |
59 | | - ``` |
60 | | - |
61 | | -7. **Access the Symfony Application:** |
62 | | - Once everything is set up, you should be able to access your Symfony application in your web browser by visiting `http://localhost` (or as configured in your `docker-compose.yml`). |
63 | | - Use test user email and pass from fixtures |
64 | | - ```bash |
65 | | - App\DataFixtures\AppFixtures::TEST_USER_EMAIL('test@user.email') |
66 | | - App\DataFixtures\AppFixtures::TEST_USER_PASS(123) |
67 | | - ``` |
68 | | -8. **Stop Docker Containers:** |
69 | | - When you're done with your work, you can stop and remove the Docker containers using: |
70 | | - ```bash |
71 | | - docker-compose down |
72 | | - ``` |
73 | | - |
74 | | -Remember to adjust the commands and file names according to your specific Symfony project and Docker Compose configuration. |
75 | | - |
76 | | -Happy coding! 🚀 |
77 | | - |
78 | | - |
79 | | - |
80 | | -## Helpful docs |
81 | | - |
82 | | -Open api 3 ready. |
83 | | -You can find all docs and endpoints in http://localhost/api_documentation section |
84 | | - |
| 27 | +## How to Run |
| 28 | + |
| 29 | +**Docker-ready project** |
| 30 | +All Docker variables are read from the `.env` file — just run `make build` to create a new instance. |
| 31 | + |
| 32 | +--- |
| 33 | + |
| 34 | +### 1. **Clone the Symfony Project** |
| 35 | + |
| 36 | +```bash |
| 37 | +git clone https://github.com/ZhoraKornev/task_planner.api |
| 38 | +cp .env.example .env |
| 39 | +cd task_planner.api |
| 40 | +``` |
| 41 | + |
| 42 | +### 2. **Prepare Docker Compose Override** |
| 43 | + |
| 44 | +Create a file: |
| 45 | +`docker-compose.override.yml` |
| 46 | +and configure services such as PHP, Nginx/Apache, MySQL/MariaDB, etc. |
| 47 | + |
| 48 | +### 3. **Build and Start Containers** |
| 49 | + |
| 50 | +```bash |
| 51 | +docker compose up -d |
| 52 | +``` |
| 53 | + |
| 54 | +### 4. **Enter the PHP Container** |
| 55 | + |
| 56 | +```bash |
| 57 | +docker compose exec php bash |
| 58 | +``` |
85 | 59 |
|
| 60 | +### 5. **Install Composer Dependencies** |
86 | 61 |
|
| 62 | +Inside the PHP container: |
87 | 63 |
|
88 | | -### Tech stack |
| 64 | +```bash |
| 65 | +composer install |
| 66 | +``` |
89 | 67 |
|
90 | | - nginx |
91 | | - php 8.2 |
92 | | - mariadb 10.10.3 |
93 | | - rabbitmq |
94 | | - symfony 6.3 |
| 68 | +### 6. **Run Symfony Commands** |
| 69 | + |
| 70 | +```bash |
| 71 | +bin/console cache:clear |
| 72 | +bin/console doctrine:migrations:migrate |
| 73 | +bin/console doctrine:fixtures:load |
| 74 | +``` |
| 75 | + |
| 76 | +### 7. **Access the Application** |
| 77 | + |
| 78 | +Open the app in your browser: |
| 79 | + |
| 80 | +``` |
| 81 | +http://localhost |
| 82 | +``` |
| 83 | + |
| 84 | +Use the test credentials from fixtures: |
| 85 | + |
| 86 | +``` |
| 87 | +Email: App\DataFixtures\AppFixtures::TEST_USER_EMAIL ('test@user.email') |
| 88 | +Pass: App\DataFixtures\AppFixtures::TEST_USER_PASS (123) |
| 89 | +``` |
| 90 | + |
| 91 | +### 8. **Stop Containers** |
| 92 | + |
| 93 | +```bash |
| 94 | +docker compose down |
| 95 | +``` |
| 96 | + |
| 97 | +--- |
| 98 | + |
| 99 | +## Helpful Docs |
| 100 | + |
| 101 | +OpenAPI 3 ready. |
| 102 | +All documentation & endpoints are available at: |
| 103 | + |
| 104 | +``` |
| 105 | +http://localhost/api_documentation |
| 106 | +``` |
| 107 | + |
| 108 | + |
95 | 109 |
|
| 110 | +--- |
96 | 111 |
|
| 112 | +## Tech Stack |
97 | 113 |
|
| 114 | +* **Nginx** |
| 115 | +* **PHP 8.2** |
| 116 | +* **MariaDB 10.10.3** |
| 117 | +* **RabbitMQ** |
| 118 | +* **Symfony 6.3** |
0 commit comments