Triptrip is fullstack website that handles management of various tour and travel packages.
- Users can browse, search, buy packages therefore generate pdf reports, write reviews and everything is done in realtime.
- Admin user can manage users, tour packages, sales, generate pdf reports accordingly.
- Raw PHP is used to script the backend.
-
User validation added on login and sign up. Username and email fields are unique. User will get mail after completing registration when SMTP credentials are set in
.env. -
Package purchase validation added. One user can not purchase same package twice, can not purchase after package has started and also can not purchase after package capacity is full.
-
User will get email after completing purchase when SMTP credentials are set in
.env. -
User can write review and generate pdf report after purchasing any package and more.
- View, add, modify packages.
- Manage users. (Active/Inactive)
- View and generate pdf report on sales.
Checkout the dbConnection.php file for the known bugs.
Clone the repository
git clone https://github.com/shz-code/triptrip.gitYou need to have a PHP enabled apache with mysql server installed on your local device.
You can use -
Code editor -
-
Start Apache and Mysql.
-
Extract downloaded project file
-
Rename the extracted folder to triptrip.
-
Copy the extracted folder to htdocs(XAMPP) or www(Laragon) folder.
-
Create a new database named triptrip and create required table. Use the tableSchemas to create tables.
-
Copy
.env.exampleto.envand fill in your values (see Environment Variables below). -
Open your browser and go to http://localhost/triptrip
-
Go to register and sign up using new user.
-
To make a user admin go to your database -> triptrip -> users -> set is_admin to 1.
-
Separate dashboards for admin and users. Use admin dashboard to start adding new packages.
This project uses a .env file in the project root for secrets and environment-specific config. Copy .env.example to .env and fill in the values:
APP_URL=http://localhost
SSLCOMMERZ_STORE_ID=your_sslcommerz_store_id
SSLCOMMERZ_STORE_PASSWD=your_sslcommerz_store_password
SMTP_USERNAME=your_email@gmail.com
SMTP_PASSWORD=your_gmail_app_password| Variable | Description |
|---|---|
APP_URL |
Base URL of the app (no trailing slash), e.g. http://localhost |
SSLCOMMERZ_STORE_ID |
Your SSLCommerz sandbox/live store ID |
SSLCOMMERZ_STORE_PASSWD |
Your SSLCommerz store password |
SMTP_USERNAME |
Gmail address used to send emails via PHPMailer |
SMTP_PASSWORD |
Gmail App Password (not your account password) |
.envis gitignored and will never be committed..env.exampleis committed as a template.
Email sending is automatically enabled when SMTP_USERNAME and SMTP_PASSWORD are set. If they are empty, mail steps are silently skipped.
- All the SQL codes are written in _dbConnection.php file.
- The file structure is modular. You will get a
components/folder containing common HTML for all pages (head, header, footer). - This project uses SSLCommerz sandbox as payment gateway. Set
SSLCOMMERZ_STORE_IDandSSLCOMMERZ_STORE_PASSWDin.env. Visit SSLCommerz to know more.
- Search for desired package directly from landing page based on location

- Get all listed packages or search for desired package based on location

- Updated package rating after user review

- Optional available package features

- User reviews

- Admin Dashboard to control the website

- User dashboard to control user info and purchase info

- SSL Commmerz payment gateway for completing purchase

The relational database management system used
Shahidul Alam - @shz-code
Akibul Hasan - @MdAkibulHasan
This project is licensed under the MIT License - see the LICENSE file for details
- Design Inspired