REST API using laravel - https://api.foleon.jezao.dev
React App - https://foleon.jezao.dev
Api Doc - Postman Documentation
These instructions give 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 system.
Running locally - Installing
Starting from the principle that your local environment already has all the prerequisites installed, follow the steps below:
Clone the repository and move to target directory
git clone https://github.com/jezao/foleon-assessment.git foleon
Go to the API folder and install the project dependencies
cd foleon/api && composer install
Create a .env file and set your environment vars
cp .env.example .env
Setup the project
php artisan key:generate \ && php artisan migrate --force \ && php artisan passport:install
Seeding with Fake Data
This command generate users, events, groups and connections data for development and testing purposes
php artisan db:seed
Building User authentication views
npm install && npm run dev
Serving API application for development
php artisan serve --port=8084
Go to the "front" directory. Install and run npm
cd ../front && npm install && npm start
Now our API is running at port 8084, and our Frontend app is running at port 3000 for development purposes.
http://localhost:8084 - API
http://localhost:3000 - FRONTEND
Running with Docker Compose - Installing
Make sure you are at the project root folder and run:
@todo - add Redis to Docker Container @todo - Automate frontend setup at Docker Container
Running the tests
Unit and Feature Tests configured in the api/phpunit.xml file.
@todo - End to end test examples
And coding style tests
We are following the PSR-12 standard
./vendor/bin/phpcs app --standard=PSR12
Production it's being deployed using Travis CI. Unit tests, code lints are made, and if successful, the application deployment starts.
@todo - Describe manual deployment
- Jefferson Silva - Initial work - Jezao
- Foleon for opportunity and patience.
- Setup Redis as Cache Storage
- Frontend - Develop Users List
- Frontend - Develop User Details
- Frontend - Develop Event Details
- Frontend - Login with facebook
- Generate PHPDOC & API Doc on deployment
- Setup pagination and filter parameters to all Entities