LinguaLight Portal is a web application designed for publishing and enrolling in foreign language courses. The frontend of the application was built primarily using the Bootstrap framework. The backend of the application is written in PHP, specifically utilizing the Laravel framework.
The portal allows us to log in with three user roles: client, trainer, and administrator. The client role can only enroll in courses and make payments for them. The simulated payment system was developed using the Stripe platform, specifically the Stripe-PHP library.
Users with the trainer role can create course offers, edit them, and pseudo-delete them. However, in order to gain access to these functionalities, they must first confirm their qualifications by submitting a request to the administration through a dedicated form along with supporting documents verifying their identity.
Administrators have full access to the application's resources. They can edit and delete all course offers, as well as confirm or reject requests for trainer verification, as mentioned before. Additionally, they have access to a panel that allows them to edit and delete user accounts. As an administrator, you can also create additional accounts with the administrator role.
The project was created to fulfill the requirements of the university course Web Applications in the Computer Science degree. The project received a grade of 5.0 on a scale from 2 to 5.
- HTML 5
- CSS 3
- JavaScript ES6
- PHP 8.1.5
- Laravel 10.9.0
- Bootstrap 5.3.0
- Anime.js 3.0.1
- Stripe-PHP 10.13.0
For running the application you need:
- Execute command
git clone https://github.com/Ilvondir/lingualight-portal
. - Open XAMPP and start SQL server.
- Run
start.bat
file. - If you want payment simulations to work, you need to add the STRIPE_SECRET key with the value of your secret payment key obtained from the Stripe portal to the
.env.example
file and runstart.bat
file. - Log in to the selected account to discover various functionalities.
Account | Login | Password |
---|---|---|
Administrator | admin | admin |
Trainer | trainer | 1234 |
User | user | user |