This project is a school project made for the third semester of the Bachelor's degree in Computer Science at the University of Lyon 1. The objective of this project is to create a web application with a visual interface and an administration interface used to manage the application.
We decided to create a website which presents the relationship existing between students of the Institute of Technology. There are many sponsor relationships between students, and we wanted to create a website that would allow students to see all the links between people. This website will also allow students to create their own profile and to add their own sponsor relationships (through a contact form because administrators need to validate those creations). Administrators are able to manage the website and the users (add, delete, modify, etc.) with an admin panel which is accessible only to them and gathers all the requests made by users with the contact form.
This project is kind of a social network. You can see the relationships between people and customize your profile. You can't post anything, you can't follow people, you can't chat with people, etc...
You can visit the final website at this address : https://parraindex.com You can also find the source code of the website at this address : https://github.com/LukaMrt/Parraindex
The school imposed to not use any framework, so we decided to use the following technologies to create the website:
- Twig for the front-end
- SCSS for styling
- JavaScript for front-end interactions
- PHP and some libraries for back-end with Composer to manage these dependencies
- MariaDB for the database
To launch the project, you need to have the following software installed on your computer (or on a server and reachable from your computer, for example the MariaDB database):
- PHP
- MariaDB
- Composer
- SCSS
You also need to have a working mail server to send emails.
To launch the project, you need to follow these steps:
-
Clone the repository
-
Install the dependencies with
composer install
-
Create a database and import the
creation.sql
file located in thedatabase
folder -
Create a
.env
file in the root folder of the project and fill it with the following information (follow the example of the.env.example
file):# Environment DEBUG="false" # Set to "true" to enable debug mode # Database DRIVER="mysql" # Database driver (mysql, pgsql, sqlite, ...) HOST="host" # Host of the database (ip or domain name) PORT="3306" # Port of the database (default for mariadb: 3306) DATABASE="database" # Name of the used database USERNAME="user" # Username used to connect to the database PASSWORD="password" # Password of the user used to connect to the database # Mail MAIL_HOST="host" # Host of the mail server (ip or domain name) MAIL_PORT="587" # Port of the mail server (default: 587) MAIL_USERNAME="username" # Username used to connect to the mail server MAIL_PASSWORD="password" # Password of the user used to connect to the mail server
-
Build the CSS files with
sass --update scss:public/css
orcomposer sass
if you want to watch the changes in the SCSS files and automatically rebuild the CSS files -
Launch the project with
php -S localhost:8000 -t public
orcomposer server
Feel free to contribute to the project by creating a pull request or by opening an issue. If you want to contribute to the project, please read the CONTRIBUTING.md file.
Thanks goes to these wonderful people (emoji key):
Luka Maret 💻 🚇 📆 |
Lilian Baudry 💻 👀 🤔 🎨 |
Melvyn Delpree 💻 🎨 📖 |
Vincent Chavot-Dambrun 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!
The Parraindex is licensed under the MIT License.