Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/samuelcardenasg23/event-management
https://github.com/samuelcardenasg23/event-management
Last synced: 7 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/samuelcardenasg23/event-management
- Owner: samuelcardenasg23
- Created: 2024-05-09T23:38:01.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2024-07-20T00:30:27.000Z (4 months ago)
- Last Synced: 2024-07-20T04:33:04.835Z (4 months ago)
- Language: PHP
- Size: 103 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Event Project Management API
## Overview
The Event Management API is designed to facilitate the planning and coordination of events. It provides a robust platform for managing events, attendees, and user relationships efficiently. Key features include event creation, attendee tracking, and notification functionalities.## Authentication
This API uses token-based authentication with Laravel Sanctum. To authenticate, users must log in to receive a token, which should be included in the `Authorization` header for subsequent requests.## Features
- **User Management**: Login for user authentication and authorization.
- **Event Creation & Management**: Users can create and manage events, providing details such as date, location, and description.
- **Attendee Management**: Allows tracking and managing attendees for events. Users can register (attend) for events or be unregistered (unattend).
- **Dynamic Relationships**: Leverage eager loading to retrieve complex relationships between events, users, and attendees.
- **Notifications**: Send automated email reminders to attendees before the event (requires configuration).## API Endpoints
### Events
- GET /events: Retrieve a list of events with optional relationship loading.
- GET /events/{id}: Retrieve a specific event by ID.
- POST /events: Create a new event.
- PUT /events/{id}: Update a specific event by ID.
- DELETE /events/{id}: Delete a specific event by ID.### Attendees
- GET /events/{event}/attendees: Get All Attendees of an Event
- POST /events/{event}/attendees: Attend and event
- DELETE /events/{event}/attendees/{attendee}: Unattend an event.### Auth
- POST /login: Login user with email and password.
- POST /logout: Logout current logged user.### Users
- GET /user: Get current user.## Relationship Loading
To dynamically load relationships, include the include query parameter in your requests. For example:```
{{BASE_URL}}/events?include=user,attendees,attendees.user
```## Technologies Used
- Laravel PHP Framework
- MySQL Database## License
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).