This is a web development project that allows users to make reservations and select activities for their trip to Costa Rica. The project includes an admin panel for managing reservations and activities. It also features user login and registration system with token authentication and a 'forgot my password' option. The project implements PHP, CSS, JavaScript, and Fetch API to check an external API. JSON is implemented for retrieving and sending data to the API.
- Ensure you have PHP 8.0 or higher installed on your local machine. You can check your PHP version by running the following command in your terminal:
php -v
- You will also need to have MySQL installed on your local machine. You can check your MySQL version by running the following command in your terminal:
mysql --version
- Composer is required to install the PHP dependencies. You can check if you have composer installed by running the following command in your terminal:
composer --version
- You will also need to have npm installed on your local machine. You can check your npm version by running the following command in your terminal:
npm --version
- Clone this repository into your local machine:
git clone https://github.com/LeonardoC1302/AdventureApp.git
- Create a new database named "adventureapp_mvc" on your local machine and use the "adventureappcr.sql" file to create the tables and populate the database.
- Head to the "includes" folder and create a new file named ".env". Fill the file with the following code:
DB_HOST =
DB_USER =
DB_PASS =
DB_NAME =
EMAIL_HOST =
EMAIL_PORT =
EMAIL_USER =
EMAIL_PASS =
APP_URL =
*Fill the variables with your database, email credentials and URL provider. 4. Install the dependencies using composer:
composer install
- Install the dependencies using npm:
npm install
- Run gulp to compile the sass files:
npx gulp
- Run the project on your local machine:
php -S localhost:3000
- HTML
- CSS (SASS)
- JavaScript
- PHP
- MySQL
- Mailtrap
- Composer & Gulp
- Fetch API
- User login and registration: Users can register an account and login to the website. Depending on the user's role, they will have access to different features.
- Admin panel to manage reservations and activities: The admin panel allows the user to add, edit, and activities as well as manage reservations.
- Reservation and activity selection: Users can make reservations and select activities for their trip to Costa Rica.
- User registration system with token authentication: A token-based authentication is added on the registration system for added security.
- 'Forgot my password' option: Users can reset their password if they forget it.
- External API integration: The project utilizes Fetch API to check an external API for additional functionality.
- JSON implementation: JSON is used to retrieve and send data to the external API.