Skip to content

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.

License

Notifications You must be signed in to change notification settings

DamienVassart/TrouveTonEvenement

Repository files navigation

TrouveTonEvenement

Description

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.

Branches & Workflow GitHub last commit (by committer)

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 code
  • develop, which will host the code with the features just finished and ready to be reviewed prior to release and production.

UI Theme

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.

Tech Stack

Roadmap

An up to date roadmap of the project can be seen here

Requirements

  • PHP 8.1+
  • A database server (SQLite, MySQL, PostgreSQL)
  • The Make command installed on your machine
  • 20GB of free disk space

Installation Instructions

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.

A. Automatic Installation

~ make init

B. Manual Installation

All the commands below are executed when you choose Automatic Installation

  1. ~ touch .env.local
  2. ~ composer install
  3. ~ php bin/console app:secret:generate
  4. ~ 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
  5. ~ php bin/console doctrine:database:create
  6. ~ php bin/console doctrine:migrations:migrate
  7. ~ 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.

C. Import Geographical Data

  1. ~ make localites
  2. ~ make adresses (1)
  3. ~ php bin/console app:import:localites
  4. ~ 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) : ⚠️ This command will import all the adresses contained in the adresses-xxx.csv files. There are about 26+ millions adresses, so the process can be very long. You can interrupt it by hitting 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).

D. Load optionnal fixtures

  1. ~ php bin/console doctrine:fixtures:load --group=devFixturesGroup1 --append
  2. ~ php bin/console doctrine:fixtures:load --group=devFixturesGroup2 --append

The above instructions will be updated as the project progresses. Remember to check it regularly.

License

GPLv3 license This project is under GPLv3 License

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages