Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/brieucdegoussencourt/languagegame
Simple Language Game
https://github.com/brieucdegoussencourt/languagegame
continuous-deployment heroku mvc-architecture oop php
Last synced: 7 days ago
JSON representation
Simple Language Game
- Host: GitHub
- URL: https://github.com/brieucdegoussencourt/languagegame
- Owner: brieucdegoussencourt
- Created: 2024-09-09T08:10:34.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-09-13T08:11:40.000Z (2 months ago)
- Last Synced: 2024-09-14T17:23:37.528Z (2 months ago)
- Topics: continuous-deployment, heroku, mvc-architecture, oop, php
- Language: PHP
- Homepage: https://brieuc-language-game-905a4a54f0ba.herokuapp.com/
- Size: 300 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Language Game Project
[LIVE HERE](https://brieuc-language-game-905a4a54f0ba.herokuapp.com/)Welcome to the **Language Game Project**! This project was created as part of my training at [Becode](https://becode.org) in September 2024. It marks a significant milestone in my journey as a developer.
Here are the full [guidelines](/guidelines.md).
## π Project Overview
The **Language Game** is a simple game designed to test the userβs language skills by providing random words that need to be translated correctly. The project is built with **PHP** and adheres strictly to the **Model-View-Controller (MVC)** design pattern.
## π Main Achievements
- **OOP Structure**:
- Classes like `Player`, `Word`, and `Data` ensure a modular and reusable codebase.
- **MVC Architecture**:
- **Model**: Handles game data (words, translations).
- **View**: Renders the game interface and nickname form.
- **Controller**: Processes game logic, form submissions, and score tracking.
- **Continuous Deployment**:
- **Heroku and Git**: Synchronizing GitHub repository for continuous deployment.## π Features
- **Nickname Input**: Users enter their nickname before starting the game, which is stored as the playerβs name.
- **Random Word Translation**: Translate random words, with instant feedback.
- **Score Tracking**: Scores update based on correct or incorrect answers.
- **Game Reset**: Players can reset the game and start over with a new nickname.## π Personal Achievement
This project represents a significant achievement for me as a student at **Becode**. It is the first time I have successfully implemented a project with strict adherence to the **MVC design pattern**. Throughout this project, I learned how to properly structure a PHP application by separating concerns, ensuring that the **Model** (data), **View** (UI), and **Controller** (logic) are properly decoupled.
Iβm proud to say that this project reflects my newfound ability to follow **best coding practices** and **software architecture principles**, making this a milestone in my journey to becoming a professional developer.
## π Technologies
- **PHP**: Core programming language used to build the application.
- **Composer**: Dependency manager used for autoloading and managing third-party libraries.
- **Heroku**: Platform used to deploy the project.
- **GitHub**: Version control and collaboration platform where the project is hosted.## π Deployment
This project is deployed on **Heroku** and can be accessed [here](https://your-heroku-app-url.com). The deployment follows the **PHP Composer** buildpack, ensuring that all dependencies are installed and the project is properly structured for cloud hosting.
π Future Improvements
β’ Introduce a time-based challenge mode.
β’ Integrate a database to dynamically manage the list of words and translations.
β’ Improve the UI/UX for a more engaging user experience (CSS and JS).π€ Contributing
If youβd like to contribute to this project, feel free to fork the repository and submit a pull request. Iβm always open to feedback and improvements.
π License
This project is licensed under the MIT License. See the LICENSE file for details.
## π Live Demo
The project is live on **Heroku**: [Language Game](https://brieuc-language-game-905a4a54f0ba.herokuapp.com/).
![screenshot](./screenshots/Screenshot1.png)