PhpDev.App
tarlepp/symfony-flex-backend

tarlepp/symfony-flex-backend

Stars: 273

Forks: 54

Pull Requests: 2358

Issues: 74

Watchers: 11

Last Updated: 2023-09-17 10:03:18

Symfony Flex REST API template project

License: MIT License

Languages: Makefile, PHP, Shell, Dockerfile, Smarty, Twig

What is this?

MIT licensed CI Coverage Status Psalm coverage Scrutinizer Code Quality Code Intelligence Status Maintainability Sonarcloud Quality Gate Sonarcloud Vulnerabilities Sonarcloud Vulnerabilities Sonarcloud Vulnerabilities OpenSSF Scorecard

JSON REST API which is build on top of Symfony framework.

This application is mean to use as an API that some frontend application(s) or different backend application(s) uses as they like.

Table of Contents

Requirements

Recommendations

  • *nix platform - most likely you're going to host your application on *nix platform - so I would recommend to do development also on that platform.
  • Makefile support - if you don't have this you need to look Makefile file to see what each make command is doing.

Installation

This installation guide expects that you're using docker-compose.

1. Clone repository

Use your favorite IDE and get checkout from GitHub or just use following command

git clone https://github.com/tarlepp/symfony-flex-backend.git

2. Start containers

For this just run following command, which will start all the containers:

make start

If you like to start containers in background, then you can use following command:

make daemon

These commands will create following containers to run this backend application:

  • php (this is for actual application)
  • nginx (this will serve application)
  • mariadb (MariaDB 10.7 which will store all the data of application)
  • dozzle (to see your docker container logs)
  • adminer (to manage your database via browser)

3. Using application

By default make start / docker-compose up command starts all the containers and exposes following ports on localhost on your host machine:

And this application is usable within your browser on https://localhost:8000 address. When you first time open that site you will see "Your connection is not private" warning - see this to resolve that.

Another choice is to use http://localhost:8080 which is not using SSL.

MariaDB credentials:

user: root
password: password

4. Getting shell to container

After you've run make start / docker-compose up command you can list all running containers with docker ps command.

And to eg. get shell (bash or fish) access inside one of those containers you can run following command:

make bash

OR

make fish

5. Building containers

For time to time you probably need to build containers again. This is something that you should do everytime if you have some problems to get containers up and running. This you can do with following command:

make daemon-build

If you like to see containers logs directly use following command:

make start-build

Frontend?

So this is an API backend what about frontend then? No worries I've made simple Angular NgRx powered template frontend which work with this backend just out of the box.

Angular NgRx powered frontend template for Symfony backend

With these two template applications it should be quite easy to start to build your own application - right?

Resources

External links / resources

Authors

License

The MIT License (MIT)

Copyright © 2021 Tarmo Leppänen

RELEASES

See all