{"id":14987216,"url":"https://github.com/sagnikrivud/open-api-turism-web-application","last_synced_at":"2026-02-06T23:31:34.523Z","repository":{"id":223424003,"uuid":"760283244","full_name":"sagnikrivud/Open-Api-Turism-Web-Application","owner":"sagnikrivud","description":"Open Source API Collection for Tourism Application applicable at mobile end or any front end (React, Angular, Vue) projects \u0026 Admin Panel added feature.","archived":false,"fork":false,"pushed_at":"2024-03-31T08:40:07.000Z","size":249,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-06T08:58:08.789Z","etag":null,"topics":["codeigniter","cron","mysql","rest-api","shell-script","travel"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sagnikrivud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-20T05:59:49.000Z","updated_at":"2024-03-11T09:01:39.000Z","dependencies_parsed_at":"2024-02-20T07:24:28.140Z","dependency_job_id":"360736c1-ddf8-447d-a20d-360936ec5cb1","html_url":"https://github.com/sagnikrivud/Open-Api-Turism-Web-Application","commit_stats":{"total_commits":206,"total_committers":3,"mean_commits":68.66666666666667,"dds":"0.014563106796116498","last_synced_commit":"20d899e7976c0d81006c1d9808a4c6c9693603ce"},"previous_names":["sagnikcapital/open-api-travel-application","sagnikrivud/open-api-turism-web-application"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/sagnikrivud/Open-Api-Turism-Web-Application","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sagnikrivud%2FOpen-Api-Turism-Web-Application","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sagnikrivud%2FOpen-Api-Turism-Web-Application/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sagnikrivud%2FOpen-Api-Turism-Web-Application/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sagnikrivud%2FOpen-Api-Turism-Web-Application/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sagnikrivud","download_url":"https://codeload.github.com/sagnikrivud/Open-Api-Turism-Web-Application/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sagnikrivud%2FOpen-Api-Turism-Web-Application/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266477152,"owners_count":23935390,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codeigniter","cron","mysql","rest-api","shell-script","travel"],"created_at":"2024-09-24T14:14:16.051Z","updated_at":"2026-02-06T23:31:34.492Z","avatar_url":"https://github.com/sagnikrivud.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OPEN API For Travel Agency application\n![Logo](https://logowik.com/content/uploads/images/651_codeigniter.jpg)\n\n__Information Access__\n\nDestination Details: Tourism sites provide comprehensive information about various destinations, including attractions, accommodations, activities, and local culture. This helps travelers make informed decisions about where to go and what to do.\nTrip Planning:\n\nItinerary Creation: \nUsers can plan their entire trip, from choosing destinations and activities to creating detailed itineraries. Tourism sites often offer tools to organize and customize travel plans.\n\n__Application features__ \n- Ready to deploy at server and start business.\n- Logo, Site Name and Banner can be set according to business.\n- Admin Panel for adding/editing trips, manage Customers, Track bookings and activities.\n- Ready made API Collection for Frontend web or Mobile APP.  \n- Contents can be provided by API.\n- Razorpay Payment Gateway for husslefree payment processing.\n- Contents available for About Us, Announcements, Privacy Policy, Travel blogs, Contact us page etc.\n- No save card policy and secure payment guarantee.\n- SEO Friendly support from backend.\n# Grow your tourism\n![Tourism](https://i.pinimg.com/736x/2f/a2/32/2fa2321cb1703d6eef32410774156fed.jpg)\n\n## Payment Gateway\n![Razorpay](https://cdn.iconscout.com/icon/free/png-512/free-razorpay-1649771-1399875.png?f=webp\u0026w=256)\n\n## Git Install at server (Linux instance)\n```sh\n$ sudo apt update\n```\n```sh\n$ sudo apt install git\n```\n```sh\n$ git config --global user.email \"git_registered_email@example.com\"\n```\n```sh\n$ git config --global user.name \"Your git user Name\"\n```\n## Installation \u0026 updates (Directly at Server)\n```sh\n$ git clone https://github.com/sagnikcapital/Open-Api-Travel-Application.git\n```\n```sh\n$ cp .env.example .env\n```\n```sh\n$ composer install\n```\n```sh\n$ chmod +x Permission.sh\n```\n```sh\n$ chmod +x Deploy.sh\n```\n```sh\n$ crontab -e\n```\n\u003e Write the execution details at cron tab: \n\n```sh\n0 2 * * * /path/to/your/script/Permission.sh\n```\n```sh\n0 2 * * * /path/to/your/script/Deploy.sh\n```\n\u003e Write the .htaccess\n```sh\n$ cp public/.htaccess .\n```\n\u003e Create SSH Authentication\n```sh\n$ ssh-keygen -t rsa -b 2048 -C \"git_registered_mail@example.com\"\n```\n```sh\n$ eval \"$(ssh-agent -s)\"\n```\n```sh\n$ ssh-add ~/.ssh/id_rsa\n```\n\u003eThe SSH key pair (public and private keys) will be generated. You'll see output similar to:\n- Your identification has been saved in /path/to/your/home/.ssh/id_rsa.\n\n\u003e Set TimeZone for APP at .env, \n- Refer: https://www.php.net/manual/en/timezones.php\n```env\nAPP_TIMEZONE=''\n```\n\n\u003e Setup .env configuration for Database connect\n```env\nHOST=''\nDB_USER=''\nDB_PASSWORD=''\nDB_NAME=''\nPORT=3306\n```\n\u003e Set the Value of CI_ENVIRONMENT\n```env\nCI_ENVIRONMENT='production'\n```\n\n\u003e Run migrations\n```sh\n$ php spark migrate\n```\n\u003e Seed the Admin details and Content to Database\n```sh\n$ php spark db:seed AdminSeeder\n```\n```sh\n$ php spark db:seed ContentsSeeder\n```\n\n\u003e Setup Twilio details at .env for Messaging\n```env\nTWILIO_SID=''\nTWILIO_AUTH_TOKEN=''\n```\n\n\u003e Set the App Url at .env with domain like this\n```env\nAPP_URL='http://domain.com/api/'\n```\n\u003e Configure the SMTP Details at .env for Mailing, (Google, Twilio, Mailtrap, Mailchimp, Hostinger)\n```env\nSMTP_HOST=''\nSMTPUSER=''\nSMTPPASS=''\nSMTP_PORT=587\nSMTP_LEVEL='tls'\nMAIL_FROM=''\nMAIL_NAME='your name'\n```\n\u003e Configure Razorpay  Payment Gateway Details in .env file\n```env\nRAZORPAY_API_KEY=''\nRAZORPAY_API_SECRET=''\nRAZORPAY_CURRENCY='USD' #'INR', 'IDR', 'EUR', 'EGP', 'GHS'\n```\n- Refer: https://github.com/razorpay/razorpay-php\n\n\u003e Add JWT key to .env, refer this \n- URL: https://auth0.com/signup?\u0026signUpData=%7B%22category%22%3A%22docs%22%7D\n```env\nJWT_SECRET_KEY=''\n```\n\n\u003e Run to confirm setup process\n```sh\n$ php spark setup\n```\n\n## Server Maintenance Mode\n\u003e For put your application into maintenance mode you can use following\n```sh\n$ php spark mm:down\n```\n\u003e For check status\n```sh\n$ php spark mm:status\n```\n\u003e To Put application live again after being in maintenance mode\n```sh\n$ php spark mm:up\n```\n- Refer: https://github.com/arashsaffari/maintenancemode\n\n## Queue Jobs\n\u003e Setup Codeigniter Queue Job\n```sh\n$ composer require codeigniter4/queue\n```\n```sh\n$ php spark migrate --all\n```\n```sh\n$ php spark queue:publish\n```\n```sh\n$ php spark queue:job ExampleJob\n```\nAdd it to the `$jobHandlers` array in the `app\\Config\\Queue.php` file:\n```php\nuse App\\Jobs\\Example;\n//....\n \n \npublic array $jobHandlers = [\n    'my-example' =\u003e Example::class\n];\n```\n- Add job to the queue:\n```php\nservice('queue')-\u003epush('queueName', 'my-example', ['data' =\u003e 'array']);\n```\n```sh\n$ php spark queue:work queueName\n```\n- Refer: https://github.com/codeigniter4/queue\n\n## Check System Logs\n\u003e Open http://your-domain/logs in browser\n- Refer: https://github.com/SeunMatt/codeigniter-log-viewer \n## Important Change with index.php\n\n`index.php` is no longer in the root of the project! It has been moved inside the *public* folder,\nfor better security and separation of components.\n\nThis means that you should configure your web server to \"point\" to your project's *public* folder, and\nnot to the project root. A better practice would be to configure a virtual host to point there. A poor practice would be to point your web server to the project root and expect to enter *public/...*, as the rest of your logic and the\nframework are exposed.\n\n## Versions and Compatibility\n\n- [PHP 7.4 | 8.0]()\n- [Apache 2]()\n- [CodeIgniter 4.0]()\n- [Mysql]()\n- [intl](http://php.net/manual/en/intl.requirements.php)\n- [mbstring](http://php.net/manual/en/mbstring.installation.php)\n- [DomPDF](https://github.com/dompdf/dompdf/releases)\n- [json]() (enabled by default - don't turn it off)\n- [mysqlnd](http://php.net/manual/en/mysqlnd.install.php) if you plan to use MySQL\n- [libcurl](http://php.net/manual/en/curl.requirements.php) if you plan to use the HTTP\\CURLRequest library\n\n## Admin Access\n\u003e Username : admin@admin.com  \n\u003e Password : password1234\n\n\u003e URL: /admin/login\n![Alt Text](blobs/login.png)\n\n## API  Documentation\n| API URL                 | Parameters          | Method   |\n|-------------------------|---------------------|----------|\n| `api/login`             | `phone, otp_code`   | POST     |\n| `api/register`          | `phone, email`      | POST     |\n| `api/otp`               | `phone`             | POST     |\n| `api/validate-otp`      | `phone, otp_code`   | PUT      |\n| `api/profile`           | `email, first_name, last_name, doc_type, doc_number` | PUT |\n| `api/content/headers`   |  NULL               | GET      |\n| `api/content/get/{title}`| `title`            | GET      |\n| `api/content/logo`      |  NULL               | GET      |\n| `api/trips`             |  NULL               | GET      |\n| `api/trip/{id}`         | `id`                | GET      |\n| `api/trip/search`       | `keyword`           | POST     |\n| `api/trip/review`       | `trip_id, user_id, review{int}, comment{text}`  | POST |\n| `api/trip/my-trips`     | `user_id`           | GET      |\n| `api/trip/confirm`      | `user_id, trip_id, date`| POST |\n| `api/trip/cancel`       | `booking_code, trip_id, reason {text}, invoiceNumber`    | DELETE  |\n| `api/make/payment`      | `amount, user_id, phone, trip_id` | POST |\n\nWith Best regards,\n ### [Sagnik Dey](https://in.linkedin.com/in/sagnik-dey-483423a9)\n\n ---\n## 💻 Tech Stack\n![CSS3](https://img.shields.io/badge/css3-%231572B6.svg?style=plastic\u0026logo=css3\u0026logoColor=white) ![PHP](https://img.shields.io/badge/php-%23777BB4.svg?style=plastic\u0026logo=php\u0026logoColor=white) ![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style=plastic\u0026logo=html5\u0026logoColor=white) ![JavaScript](https://img.shields.io/badge/javascript-%23323330.svg?style=plastic\u0026logo=javascript\u0026logoColor=%23F7DF1E) ![AWS](https://img.shields.io/badge/AWS-%23FF9900.svg?style=plastic\u0026logo=amazon-aws\u0026logoColor=white) ![Vue.js](https://img.shields.io/badge/vuejs-%2335495e.svg?style=plastic\u0026logo=vuedotjs\u0026logoColor=%234FC08D) ![Vuetify](https://img.shields.io/badge/Vuetify-1867C0?style=plastic\u0026logo=vuetify\u0026logoColor=AEDDFF) ![NPM](https://img.shields.io/badge/NPM-%23000000.svg?style=plastic\u0026logo=npm\u0026logoColor=white) ![jQuery](https://img.shields.io/badge/jquery-%230769AD.svg?style=plastic\u0026logo=jquery\u0026logoColor=white) ![Express.js](https://img.shields.io/badge/express.js-%23404d59.svg?style=plastic\u0026logo=express\u0026logoColor=%2361DAFB) ![Laravel](https://img.shields.io/badge/laravel-%23FF2D20.svg?style=plastic\u0026logo=laravel\u0026logoColor=white) ![NuxtJS](https://img.shields.io/badge/Nuxt-black?style=plastic\u0026logo=nuxt.js\u0026logoColor=white) ![Socket.io](https://img.shields.io/badge/Socket.io-black?style=plastic\u0026logo=socket.io\u0026badgeColor=010101) ![Apache](https://img.shields.io/badge/apache-%23D42029.svg?style=plastic\u0026logo=apache\u0026logoColor=white) ![MariaDB](https://img.shields.io/badge/MariaDB-003545?style=plastic\u0026logo=mariadb\u0026logoColor=white) ![MongoDB](https://img.shields.io/badge/MongoDB-%234ea94b.svg?style=plastic\u0026logo=mongodb\u0026logoColor=white) ![MySQL](https://img.shields.io/badge/mysql-%2300f.svg?style=plastic\u0026logo=mysql\u0026logoColor=white) ![SQLite](https://img.shields.io/badge/sqlite-%2307405e.svg?style=plastic\u0026logo=sqlite\u0026logoColor=white) ![Inkscape](https://img.shields.io/badge/Inkscape-e0e0e0?style=plastic\u0026logo=inkscape\u0026logoColor=080A13) ![Jira](https://img.shields.io/badge/jira-%230A0FFF.svg?style=plastic\u0026logo=jira\u0026logoColor=white) ![Vagrant](https://img.shields.io/badge/vagrant-%231563FF.svg?style=plastic\u0026logo=vagrant\u0026logoColor=white)\n![Shell](https://img.shields.io/badge/shell-%231563FF.svg?style=plastic\u0026logo=shell\u0026logoColor=white) ![Cakephp](https://img.shields.io/badge/cakephp-%23FF2D20.svg?style=plastic\u0026logo=cakephp\u0026logoColor=white) ![Arduino](https://img.shields.io/badge/arduino-%231563FF.svg?style=plastic\u0026logo=arduino\u0026logoColor=white) ![C++](https://img.shields.io/badge/c++-%231563FF.svg?style=plastic\u0026logo=cplusplus\u0026logoColor=white) ![MsSQLServer](https://img.shields.io/badge/mssql-%23FF2D20.svg?style=plastic\u0026logo=microsoft-sql-server\u0026logoColor=white) ![CodeIgniter](https://img.shields.io/badge/CodeIgniter-%23FF2D20.svg?style=plastic\u0026logo=codeigniter\u0026logoColor=white) ![Lumen](https://img.shields.io/badge/Lumen-%23FF2D20.svg?style=plastic\u0026logo=lumen\u0026logoColor=white) ![Node.js](https://img.shields.io/badge/Node.js-%2343853D.svg?style=plastic\u0026logo=node.js\u0026logoColor=white)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsagnikrivud%2Fopen-api-turism-web-application","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsagnikrivud%2Fopen-api-turism-web-application","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsagnikrivud%2Fopen-api-turism-web-application/lists"}