Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/furkankadioglu/simplecalendarexample-web-application
Example project and code snippets
https://github.com/furkankadioglu/simplecalendarexample-web-application
bearer-authentication fullcalendar jwt laravel mysql php redis vuejs
Last synced: 3 days ago
JSON representation
Example project and code snippets
- Host: GitHub
- URL: https://github.com/furkankadioglu/simplecalendarexample-web-application
- Owner: furkankadioglu
- Created: 2019-03-15T15:15:22.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-03T17:54:08.000Z (almost 2 years ago)
- Last Synced: 2023-03-21T11:52:55.412Z (over 1 year ago)
- Topics: bearer-authentication, fullcalendar, jwt, laravel, mysql, php, redis, vuejs
- Language: PHP
- Homepage:
- Size: 2.55 MB
- Stars: 8
- Watchers: 2
- Forks: 3
- Open Issues: 24
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
![Demo Video](https://media.giphy.com/media/1eAv85RJxLsaIWNgHd/giphy.gif)
# Simple Calendar Example
This is a sample code project. Made according to the task given. Some extra features have not been made due to time constraints.# Task
This is the code test sent to applicants for back-end developer roles. Using PHP (preferably OOP and an MVC structure), MySQL and HTML, create a simple application that will allow the user to display a list of events from a database table with three columns - id, event title and event date. Also enable the user to add, edit and delete events. The code will be judged on structure, readability and security. Using Jquery calendar [http://fullcalendar.io/](http://fullcalendar.io/) (or something similar) display these events in a calendar underneath the list of events created above.
We are looking for a representation of good code to fulfill the mission. How you choose to approach this and in what detail is up to you. We do not however want you spending a ridiculous amount of time on this so if there is something you would have done but would time-consuminging then you can simply note this alongside the code.
# How To Start
- Clone the project.
- Open project folder with terminal.
- Edit .env file with your credentials.
- Run **"sh run.sh"** command or start manually. (it's a shell script for everything)
- Go to localhost:8000 with your browser.**Base requirements**
- PHP 7+
- MySQL
- NPM / Yarn
- Composer**Start manually**
composer install;
npm install;
php artisan migrate;
php artisan db:seed;
vendor/bin/phpunit --debug;
npm run production;
php artisan serve;**Just run server**
> php artisan serve# Project Features & TODO
- Laravel 5.8 ✅
- OOP & Eloquent ORM ✅
- API Resources (Collections, Resource models) ✅
- Restful API ✅
- JWT & Bearer Auth ✅
- Modern Frontend (VueJS) ✅
- Shell Script for Installation ✅
- PHPUnit & Testcases ✅
- Security Checks (Throttle ✅, JWT ✅)
- PSR Standarts ✅
- Eloquent Relationships ✅
- Eloquent mutators ✅
- Migration Files ✅
- Factories ✅
- DB Seeds ✅
- Insomnia Rest Client Support ✅
- Cached queries with Redis ✅
- Queued calendar event jobs with Horizon 🚫
- Auto generated documentation with PHPDocs ✅
- Notification system 🚫
- Scheduled commands 🚫**If desired, I can make the missing parts.**
## Insomnia Export
![Example project Insomnia API](https://user-images.githubusercontent.com/5060068/54467053-cefd9280-4793-11e9-988b-0d1ca961f7dc.png)
Insomnia export is in the project root directory. (Insomnia.json) You can import your [insomnia](https://insomnia.rest/) client.