Bloggy is a web blog app written in PHP using the Symfony framework. It offers a beautiful user interface that lets you write posts, comment on them, end even set your own avatar. It also features an administration panel that lets you CRUD everything. Bloggy was written as a uni project for the Interactive System subject.
Bloggy to aplikacja webowa, będąca blogiem internetowym, napisana w PHP z użyciem frameworka Symfony. Oferuje przepiękny interfejs użytkownika pozwalający na pisanie postów i komentarzy, a nawet ustawienie własnego awatara. Zawiera również potężny panel administratora, który pozwala na CRUDowanie wszystkim (chodzi o zawartość - takie rzeczy może robić tylko admin). Aplikacja napisana jako zaliczenie na przedmiot System interakcyjny - projekt.
- Install Docker and Docker Compose on your machine
- Clone the git repository to your directory of choice
git clone https://github.com/flashdens/bloggy.git
- Build the containers with
./build.env.sh
- Enter the php container with
docker-compose exec php bash
- Specify the MySQL database connection URL in the
.env
file, for example:
DATABASE_URL=mysql://symfony:symfony@mysql:3306/symfony?serverVersion=5.7
- Install necessary packages, set up the database and load example content to it wih:
composer install
bin/console doctrine:migrations:migrate
bin/console doctrine:fixtures:load
- The app should be accessible at
localhost:8000
. You can find the login credentials atapp/src/DataFixtures/UserFixtures
.
- Apache 2.4.25 (Debian)
- PHP 8.1 FPM
- MySQL 8.0.x (5.7)
- NodeJS LTS (latest)
- Composer
- Symfony CLI
- xdebug
- djfarrelly/maildev
- Install Docker and Docker Compose on your machine
- (optional) Add
127.0.0.1 symfony.local
in your host
file.
-
Run
build-env.sh
(orbuild-env.ps1
on Windows box) -
Enter the PHP container:
docker-compose exec php bash
- To install Symfony LTS inside container execute:
cd app
rm .gitkeep
git config --global user.email "you@example.com"
symfony new ../app --full --version=lts
chown -R dev.dev *
- Project URL
http://localhost:8000
or
http://symfony.local:8000
-
MySQL
- inside container: host is
mysql
, port:3306
- outside container: host is
localhost
, port:3307
- passwords, db name are in
docker-compose.yml
- inside container: host is
-
djfarrelly/maildev i available from the browser on port
8001
-
xdebug i available remotely on port
9000
-
Database connection in Symfony
.env
file:
DATABASE_URL=mysql://symfony:symfony@mysql:3306/symfony?serverVersion=5.7
docker-compose up -d
- start containersdocker-compose down
- stop contaninersdocker-compose exec php bash
- enter into PHP containerdocker-compose exec mysql bash
- enter into MySQL containerdocker-compose exec apache bash
- enter into Apache2 container