Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/scify/mentorship-matching-backend
Job-Pairs is an online tool, designed to help university graduates to successfully (re-)enter the labor market.
https://github.com/scify/mentorship-matching-backend
composer css gulp html laravel laravel-application laravel-framework php
Last synced: about 10 hours ago
JSON representation
Job-Pairs is an online tool, designed to help university graduates to successfully (re-)enter the labor market.
- Host: GitHub
- URL: https://github.com/scify/mentorship-matching-backend
- Owner: scify
- License: apache-2.0
- Created: 2017-02-03T10:05:30.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-11-06T16:41:50.000Z (1 day ago)
- Last Synced: 2024-11-06T17:38:39.993Z (1 day ago)
- Topics: composer, css, gulp, html, laravel, laravel-application, laravel-framework, php
- Language: PHP
- Homepage:
- Size: 6.68 MB
- Stars: 8
- Watchers: 8
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# Mentorship matching backend platform
This [Laravel](https://laravel.com/docs/8.x/) application is a platform backoffice that manages the matching process
between mentors with mentees, based on their
preferences and skills.## Table of Contents
- [First time install](#first-time-install)
- [Docker option (recommended)](#docker-option-recommended)
- [Non-Docker option](#non-docker-option)
- [Installing dependencies (assuming apache as web server and mysql as db):](#installing-dependencies-assuming-apache-as-web-server-and-mysql-as-db)
- [Frontend dependencies](#frontend-dependencies)
- [Backend dependencies](#backend-dependencies)
- [Composer installation](#composer-installation)
- [Apache configuration:](#apache-configuration)
- [Laravel local server](#laravel-local-server)
- [Setup the Database](#setup-the-database)
- [Add seed data to DB](#add-seed-data-to-db)
- [Building the project](#building-the-project)
- [Compiling assets](#compiling-assets)
- [Contributing](#contributing)
- [License](#license)
- [Credits](#credits)## First time install
After cloning the project, create an `.env` file (should be a copy of `.env.example`),
containing the information about your database name and credentials.```bash
cp .env.example .env
```### Docker option (recommended)
You can use the `docker-compose.yml` file that exists at project root, to quickly set up a docker container.
To build the docker container, run:
```bash
docker compose build
```And then run
```bash
docker compose up
```To fire up the container.
Then, you can enter the container by running
```bash
docker exec -it mentorship_matching_platform_server bash
```And from there, you can run all the `php artisan`, `composer`, and `npm` commands.
### Non-Docker option
#### Installing dependencies (assuming apache as web server and mysql as db):
In a nutshell (assuming debian-based OS), first install the dependencies needed:
##### Frontend dependencies
Note: Please install the node and npm versions as listed below:
```bash
$ node -v
v14.21.3$ npm -v
6.14.18
```If using NVM, you can install the correct versions by running:
```bash
nvm use # reads the .nvmrc file and installs the correct node and npm versions
```#### Backend dependencies
Note: php package installs apache2 as a dependency so we have no need to add it manually.
```bash
sudo aptitude install php7.4 php7.4-cli mcrypt php7.4-mcrypt mysql-server php7.4-mysql
```##### Composer installation
Install composer globally by following the instructions [here](https://getcomposer.org/download/).
##### Apache configuration:
Edit the `/etc/apache2/sites-available/mentorhsip-matching.conf` so that it looks like:
```text
ServerName dev.mentorhsip-matching
DocumentRoot "/path/to/Mentorship-matching-backend/public"
AllowOverride all
```
Make the symbolic link:
```bash
cd /etc/apache2/sites-enabled && sudo ln -s ../sites-available/mentorhsip-matching.conf
```Enable `mod_rewrite` and restart the server:
```bash
sudo a2enmod rewrite && sudo service apache2 restart
```Fix permissions for storage directory:
```bash
sudo chown -R user:www-data storage
chmod 775 storage
cd storage/
find . -type f -exec chmod 664 {} \;
find . -type d -exec chmod 775 {} \;
```Test the setup by navigating to `http://dev.mentorhsip-matching` in your browser.
##### Laravel local server
You can also test your setup by running the Laravel local server:
```bash
php artisan serve
```and navigating to [localhost:8000](http://localhost:8000).
## Setup the Database
Laravel provides a simple yet powerful mechanism for creating the DB schema,
called [Migrations](https://laravel.com/docs/6.0/migrations)
Simply run ```php artisan migrate``` to create the appropriate DB schema.### Add seed data to DB
Run ```php artisan db:seed``` in order to insert the starter data to the DB by
using [Laravel seeder](https://laravel.com/docs/6.0/seeding)## Building the project
Download all Laravel dependencies through [Composer](https://laravel.com/docs/6.0/installation), by running
```bash
composer installcomposer update
```After all Laravel dependencies have been downloaded, it's time to download all Javascript libraries and dependencies.
We achieve that by using [npm](http://blog.npmjs.org/post/85484771375/how-to-install-npm).
Read [this](https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-an-ubuntu-14-04-server) link in
order to understand how npm should be installed.If you prefer installing npm through [homebrew](http://brew.sh/) or [linuxbrew](http://linuxbrew.sh/),
read [this](http://blog.teamtreehouse.com/install-node-js-npm-linux).So, when in project root directory, and after npm has been installed correctly, run
```bash
npm install
```To download and install all libraries and dependencies.
## Compiling assets
When in project root directory, run
```bash
npm run dev
```Or any other `npm` script that you want to run. The available scripts are listed in the `package.json` file.
## Contributing
To contribute to MyEIC Common Library, follow these steps:
1. Fork this repository.
2. Read the [CONTRIBUTING](CONTRIBUTING.md) file.
3. Create a branch: `git checkout -b `.
4. Make your changes and commit them: `git commit -m ''`
5. Push to the original branch: `git push origin /`
6. Create the pull request.## License
This project is open-sourced software licensed under
the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0).## Credits
Icons used in this project are made by
- [Freepik](http://www.flaticon.com/authors/freepik) from [www.flaticon.com](http://www.flaticon.com)
- [Vectors Market](http://www.flaticon.com/authors/vectors-market) from [www.flaticon.com](http://www.flaticon.com)
- [Prosymbols](http://www.flaticon.com/authors/prosymbols) from [www.flaticon.com](http://www.flaticon.com)