GitHunt
TA

tarlepp/symfony-flex-backend

Symfony Flex REST API template project

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

Docker Engige
If you are not using Docker Engine then follow this

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 Engine.

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 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 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

Authors

License

The MIT License (MIT)

Copyright © 2024 Tarmo Leppänen