An event publishing and booking web platform. This is a personal project intended to be used for demonstration purposes and will be the subject of videos on YouTube.
You will find the specifications, the UML Diagrams and the final mockups in this repository.
This project will be conducted using GitFlow methodology. Therefore, there will always be at least 2 other branches:
main
, which will host the production codedevelop
, which will host the code with the features just finished and ready to be reviewed prior to release and production.
The design is based on HTML Codex JobEntry theme for the front-office part and on Start Bootstrap SB Admin theme for the back-office part. Please note that these themes may require buying a license for any commercial use.
An up to date roadmap of the project can be seen here
- PHP 8.1+
- A database server (SQLite, MySQL, PostgreSQL)
- The Make command installed on your machine
- 20GB of free disk space
The installation process is valid for UNIX based systems. For Windows, it may depend on your configuration. Your database server must be up and running.
git clone
cd TrouveTonEvenement
You may choose either an automatic or a manual installation.
~ make init
All the commands below are executed when you choose Automatic Installation
~ touch .env.local
~ composer install
~ php bin/console app:secret:generate
~ php bin/console app:database:seturl
- You will be prompted for the following data:
- Database type (sqlite, mysql, postgresql) !required
- Database username !required
- User password ?optional
- Host !required | default: 127.0.0.1
- Port number !required | default: 3306
- Database name !required
- Server version !required
- You will be prompted for the following data:
~ php bin/console doctrine:database:create
~ php bin/console doctrine:migrations:migrate
~ php bin/console doctrine:fixtures:load --group=prodFixtures
-> After Installation, the database has to be filled with Geographical Data (section C.). Optionnal fixtures can be loaded as well (section D.), e.g. for development and test purposes.
~ make localites
~ make adresses
(1)~ php bin/console app:import:localites
~ php bin/console app:import:adresses [--no-debug] [--reset] [--reset-import]
(2) (3) (4) (5)
(1) : Compressed data takes about 750MB, uncompressed data takes about 5GB
(2) : CTRL+C
and resume later.
(3) (4) (5) : Options
- Using
--no-debug
is strongly recommended to save memory and speed up the import process. --reset
will reset adresse and import_progress tables (= TRUNCATE).--reset-import
will reset adresse and import_progress tables (= TRUNCATE) and import data again (check that all the files are in the adresses directory).
~ php bin/console doctrine:fixtures:load --group=devFixturesGroup1 --append
~ php bin/console doctrine:fixtures:load --group=devFixturesGroup2 --append
The above instructions will be updated as the project progresses. Remember to check it regularly.