Exprilliant is a web app designed to make learning common expressions and idioms both fun and engaging. Developed as a passion project, the app combines Laravel Inertia and React to deliver a fast, secure, and easily maintainable experience.
- Multi-language Support: Choose your preferred language for both idioms and answers, offering a personalized learning experience.
- Randomized Questions: Idioms and potential answers are presented in a random order, adding an element of surprise to each round.
- Score Tracking: After five guesses, your score will be displayed. You can then either request five more idioms or switch languages.
- User Contributions: Registered users with verified emails can submit new idioms. Once approved by an admin, these idioms will be available in the game.
- Backend: Laravel with Inertia.js
- Frontend: React.js
- Styling: Tailwind CSS and DaisyUI
- Animation: Lottie React
- Notifications: React Toastify
- Build Tool: Vite
To get a local copy of the project up and running, follow these steps:
- PHP 8.1 or higher
- Composer
- Node.js & npm
-
Clone the repository:
git clone https://github.com/your-username/exprilliant.git cd exprilliant
-
Install PHP dependencies:
composer install
-
Install Node.js dependencies:
npm install
-
Set up environment variables:
- Copy the
.env.example
file to.env
. - Update the following credentials in your
.env
file:- Database Connection:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_database_name DB_USERNAME=your_database_username DB_PASSWORD=your_database_password
- Email Notifications:
MAIL_MAILER=smtp MAIL_HOST=smtp.your-email-provider.com MAIL_PORT=587 [email protected] MAIL_PASSWORD=your_email_password MAIL_ENCRYPTION=tls [email protected] MAIL_FROM_NAME="${APP_NAME}"
- Database Connection:
- Copy the
-
Generate an application key:
php artisan key:generate
-
Run migrations:
php artisan migrate
-
Run the
ExpressionSeeder
:php artisan db:seed --class=ExpressionSeeder
-
Build the frontend assets:
npm run dev
-
Start the development server:
php artisan serve
The application should now be running at http://localhost:8000
.
- Play: Visit the site, select your preferred language, and start learning idioms.
- Contribute: Sign up, verify your email, and submit new idioms to help grow the app's content.
- Admin: Approve or reject user-submitted idioms.
Contributions are welcome! If you have suggestions, bug reports, or want to add features, feel free to fork the repository and submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
Click the link below to give it a try:
Exprilliant - The App
Thank you for checking out Exprilliant! Enjoy learning and improving your language skills.