https://github.com/mirchaemanuel/devfest-quiz
This is a demo application for the speech "The Journey of a Commit" presented at Google DevFest Pescara 2023
https://github.com/mirchaemanuel/devfest-quiz
laravel pest tdd testing
Last synced: 5 months ago
JSON representation
This is a demo application for the speech "The Journey of a Commit" presented at Google DevFest Pescara 2023
- Host: GitHub
- URL: https://github.com/mirchaemanuel/devfest-quiz
- Owner: mirchaemanuel
- License: mit
- Created: 2023-11-09T11:01:40.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-02-04T11:35:46.000Z (over 1 year ago)
- Last Synced: 2025-03-29T05:23:31.652Z (over 1 year ago)
- Topics: laravel, pest, tdd, testing
- Language: PHP
- Homepage:
- Size: 447 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[](https://github.com/mirchaemanuel/devfest-quiz/actions/workflows/app.yml)[](https://github.com/mirchaemanuel/devfest-quiz/actions/workflows/build-base-php-image.yaml)
# DevFest Quiz App - "The Journey of a Commit"
__IT IS JUST A DEMO PROJECT FOR THE SPEECH__
__IT IS STILL UNDER ACTIVE DEVELOPMENT__
## About the Project
This Laravel application, crafted for the Google DevFest Pescara 2023, serves as a practical demonstration for the talk
titled "The Journey of a Commit", which will be presented by Mircha Emanuel D'Angelo, a senior full-stack developer, and
Aurelio Forese, a cloud engineer for Netsons Srl. The project is designed to showcase the entire lifecycle of a commit -
from inception to production deployment. This includes the development and deployment cycle, emphasizing DevOps
principles and practices.
Further details about the talk can be found here: [DevFest Pescara Agenda](https://devfest.gdgpescara.it/agenda).
## Features
- **User Authentication**: Implemented using Laravel Jetstream, this feature ensures a secure login and registration
process for users.
- **Interactive Quiz**: A real-time, dynamic quiz component developed with Livewire to engage participants.
- **Leaderboard**: Tracks and displays user rankings, adding a competitive edge to the quiz.
- **Badges System**: Participants can earn badges for their achievements, such as the "First Place" badge for topping
the leaderboard.
## Technical Stack
- **Backend Framework**: Laravel
- **User Authentication**: Laravel Jetstream
- **Frontend Interaction**: Livewire
- **Testing**: Test-Driven Development (TDD) Approach (with Pest)
In the talk we shall also discuss the following:
- **Version Control and Workflow**: GitFlow
- **Continuous Integration/Continuous Deployment (CI/CD)**: Implemented using a pipeline approach
- **Containerization and Orchestration**: Docker, Kubernetes, and ArgoCD
## Setup and Installation
### Prerequisites
- PHP 8.2
- Composer
- Node.js or Bun
### Installation
1. Clone the repo
```sh
git clone https://github.com/mirchaemanuel/devfest-quiz.git
```
2. Install Composer packages
```sh
composer install
```
3. Install NPM packages
```sh
npm install
#or
bun install
```
4. Create a copy of the `.env.example` file and rename it to `.env`
5. Generate an application key
```sh
php artisan key:generate
```
6. Migration and seeding
```sh
php artisan migrate --seed
```
## Contributing
As this application is a demo for the DevFest Pescara talk, contributions are welcome to enhance its educational value.
Please feel free to submit pull requests or open issues for discussion.
## License
Distributed under the MIT License. See `LICENSE` for more information.
## Acknowledgements
A special thanks to the organizers of Google DevFest Pescara for the opportunity to showcase this project and share
insights on modern software development practices.