# Mondosphere (SDL) Mondosphere is a French daily afternoon newspaper which serves thousands of subscribers in France. As a thank you for their subcribers' loyalty, Mondosphere is pleased to invite them to discover the shows and events from its very own event management website where registered subscribers can book tickets by logging in with their corresponding credentials from LeMonde.fr to the so-called 'frontoffice' of this website. The backoffice of the site offers a CMS-like-functionalities which is used to manage the contents of the frontoffice including the email notifications and email templates customizations. ## Getting Started These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live server. For database migration see migration. ### Prerequisites PHP Version : 7.2+ or higher MySQL Version : 5+ / MariaDB 5 or higher Code Versioning Tool : Git (optional) Server : Local server e.g ([Xampp or Lampp](https://www.apachefriends.org/index.html)) Dependencies: Composer ### Installation (local) 1. Clone the project or download the zip file and extract to your local server 2. Run `composer install` on your terminal in the root folder of the project 3. Import database file 4. Configure the following files : * `index.php` - Resides just within the root folder of this project. Change the value of environment variable among 'testing', 'development', and 'production'. Note : Your database configuration depends on this variable. * `database.php` - Can be found in [application/config/database.php] folder. Configure different databases depending on your chosen server environment. 5. Run on your local machine's web browser just by visiting [Company For Madagascar](http://localhost:port/lemonde) ## Deployment Currently, we have two deployment options : Option 1 : Through FTP and SSH * Prepare a .zip package containing all your recent changes * Upload the .zip package to the temp folder of this project in the server via FTP. You can use [Filezilla](https://filezilla-project.org/) to do that * Unzip the package via ssh ``` sudo unzip /path/of/temp/folder -d /path/to/designated/directory ``` Option 2 : Through Continuous Integration / Delivery software application called Jenkins. See [Jenkins](https://jenkins.io/) page for the installation procedure and configurations. Once Jenkins is installed, you can do the following : * Configure Jenkins to connect and pull data from your git repository. * Configure Jenkins to connect and push data to the destination server for release. * Build application to deploy to the server. ## Migration -- To be added -- ## Built With * [Codeigniter 3.1.7](https://codeigniter.com/download) - Open Source PHP Framework * [jQuery v1.11](https://jquery.com/) - The JavaScript library used * [Bootstrap v3.3.0](https://getbootstrap.com/) - The CSS framework used * [Date Range Picker](http://www.daterangepicker.com/) - Javascript component for filtering dashboard's statistics data * [Google Charts](https://developers.google.com/chart/) - Javascript api used for displaying data as charts * [Mailjet](https://dev.mailjet.com/) - A global email service and infrastructure provider that enables you to send, deliver and track transactional and marketing emails via an API, SMTP Relay or UI all from one single platform. * [Google Analytics](https://www.google.com/analytics/#?modal_active=none) - Used to track visits, views, and other user activities on the site. Used to feed the backoffice dashboard with the live statistics data from Google Analytics site via javascript API. * [Google Auth](https://developers.google.com/identity/protocols/OAuth2) - Authenticates admin account for the dashboard statistics. * [JQuery Validator](https://jqueryvalidation.org/) - A JQuery plugin that handles all form input validations. * [DataTables](https://datatables.net/) - Used in the backoffice for data display in responsive tables * [Datetimepicker](https://eonasdan.github.io/bootstrap-datetimepicker/) - Used for pop up calendar picker with graphical interface * [Bootbox](http://bootboxjs.com/) - Used as the main modal boxes or dialog boxes built with bootstrap * [MomentJS](https://momentjs.com/) - A javascript library that Parse, validate, manipulate, and display dates and times in JavaScript. * [Notify](http://bootstrap-notify.remabledesigns.com/) - Boostrap library for app notifications * [TinyMCE 4 Editor](https://www.tinymce.com/download/) - HTML Editor used for editing email templates, editing event information and other frontoffice contents. ## Versioning We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://git.wylog.com/Le-Company For Madagascar/LeMonde-Web-PHP7/tags). ## Authors * **Quiamenh Sarza** - *Developer* - * **Kristoffer Ray G. Corral** - *Developer* - * **Jeric Millena** - *Developer* - * **Medard Mandane** - *Developer* - * **Jino Lacson** - *Developer* - * **Shindee Franco** - *Designer* -