Skip to content

Full stack web application designed to provided users an easy to use platform for planning and scheduling outdoor activities in Costa Rica.

Notifications You must be signed in to change notification settings

LeonardoC1302/AdventureApp

Repository files navigation

Adventure App Costa Rica

Project Description

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.

Getting Started

  • 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

Installation and Usage

  1. Clone this repository into your local machine:
git clone https://github.com/LeonardoC1302/AdventureApp.git
  1. 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.
  2. 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
  1. Install the dependencies using npm:
npm install
  1. Run gulp to compile the sass files:
npx gulp
  1. Run the project on your local machine:
php -S localhost:3000

Technologies Used

  • HTML
  • CSS (SASS)
  • JavaScript
  • PHP
  • MySQL
  • Mailtrap
  • Composer & Gulp
  • Fetch API

Features

Features

  • 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.

Project Screenshots

Login Page

alt text

Home Page

alt text

Admin Panel

alt text

About

Full stack web application designed to provided users an easy to use platform for planning and scheduling outdoor activities in Costa Rica.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published