Laravel 9 event management system with Vue.js front end. Link to front end
- Enable google calendar API and obtain the key needed to access holidays API.
-
create a .env file. (copy .env.example file).
-
Replace GOOGLE_CALANDER_API_KEY
-
Create a database.
MySQL -u root -p
create database hotel_app;
exit;
-
create a DB event_management in MySQL server. (name can be changed but make sure DB name and DB_DATABASE attribute value in .env file are identical).
-
Run PHP artisan serve in the console.
PHP artisan serve
Note: Back end and front end both should be in the same domain but the port address can be changed (as Laravel sanctum is used as authentication)
- User name - [email protected]
- password - 123Admin*
- User name - [email protected]
- password - 123User*
- MVC
- Domain-driven
- Regular user(unauthenticated)
- Authenticated user
- Admin
- The total number of events for the current month.
- Number of canceled events.
- Number of upcoming events.
- Number of overdue events.
- Zombie events (private events that don't have any participants or all participants rejected to participate).
-
Access scope: any
-
Calendar with holidays accordingly to region.
-
While authenticated users only have access to events assigned to them and public events, the admin users can see all events in the calendar.
-
Access scope: admin
-
Create
-
Invite users (registered) to an event.
-
Remove users from an event.
-
Read
- Pagination
- Search
- By name
- By event id
- Filters
- By date time
- By status
- By event type
- By number of participants
- Zombie events
-
Update
-
Delete (soft delete and permanent / delete many once)
-
Has 4 status
- UPCOMING
- CANCELLED
- HELD
- OVERDUE
-
Has two types
- PRIVATE
- PUBLIC
-
Public events don't have particular participants. Anyone can participate in these events.
-
Private events can only be accessed by participants and admins.
-
After all, participants rejected to participate in the private event will become zombie events and admins will be notified via mail.
-
After creating, updating,deleting an event admins and participants are notified via mail.
-
As above event state changes (CANCELLED AND UPCOMING) also be notified.
-
Event status must be updated to canceled or held by admin otherwise automatically changes to OVERDUE status.
-
Event can be set to be notified to participants before commencing via email.
-
Authenticated users can check only events that are assigned to them.
-
User or admin can change participation status that is default UNKNOWN.
-
Admin can check all events.
-
Admin can assign or remove a user from an event.