Skip to content

Kaleemullah-Younas/TRAGOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TRAGOS — Travel & Group Online System

PHP MySQL JavaScript CSS3 HTML5


Table of Contents

  1. Project Overview
  2. Features
  3. Technology Stack
  4. File Structure
  5. Installation
  6. Configuration
  7. Usage
  8. Dummy Data
  9. API Endpoints
  10. Contributing
  11. License
  12. Contact

Project Overview

TRAGOS is a premium travel & group online system designed to help travelers connect, create, and manage groups, chat in real time, and discover new adventures together.

Features

  • User Registration & Authentication: Secure sign-up, login, logout, and session management.
  • Password Management: Change password after login and reset via email.
  • Profile Management: View/update profile information and upload an avatar.
  • Group Search & Listing: Search groups by name, category, or location; view summaries with member count.
  • Group Creation & Privacy: Create public/private groups; handle join logic automatically.
  • Join Request Management: Approve, reject, or block requests for private groups.
  • Membership Management: View member lists and leave groups.
  • Real-Time Group Chat: Post messages with timestamps; auto-refresh for new chats.
  • Notifications: Alerts for join approvals and new messages.
  • Security & Validation: Input sanitization, access control, and prevention of duplicate usernames/emails.

Technology Stack

Layer Technology
Backend PHP
Database MySQL
Frontend HTML5, CSS3, JavaScript
AJAX & APIs Vanilla JS (Fetch API)
Server XAMPP (Apache & MySQL)

File Structure

tragos/
├── api/                   # AJAX endpoints
│   ├── clear-notifications.php
│   ├── delete-group.php
│   ├── delete-notification.php
│   ├── export-data.php
│   ├── get-notification.php
│   ├── leave-group.php
│   ├── mark-notification-read.php
├── assets/                # Static assets
│   ├── css/style.css      # Global styles
│   ├── js/main.js         # Frontend interactions
│   └── images/            # PNG images/logos
├── config/                # Configuration files
│   └── database.php
├── includes/              # Shared layouts & helpers
│   ├── header.php
│   ├── footer.php
│   └── functions.php
├── database/              # SQL schema & seed data
│   └── schema.sql
├── index.php              # Home page
├── about.php              # About page
├── contact.php            # Contact form
├── register.php           # User registration
├── login.php              # User login
├── logout.php             # Logout handler
├── forget-password.php    # Password reset
├── profile.php            # Profile management
├── settings.php           # Account settings
├── groups.php             # List/search groups
├── create-group.php       # New group form
├── edit-group.php         # Edit group details
├── group-detail.php       # View group info
├── group-chat.php         # Chat interface
├── manage-requests.php    # Approve/reject join requests
├── my-groups.php          # User’s groups overview
├── search.php             # Advanced search
├── notifications.php      # View notifications
├── privacy.php            # Privacy policy
├── terms.php              # Terms of service
└── help.php               # Help & FAQ

Installation

  1. Clone the repository:

    git clone https://github.com/Kaleemullah-Younas/tragos.git
    cd tragos
  2. Set up the database:

    • Import database/schema.sql into MySQL via phpMyAdmin or CLI.
  3. Configure database connection:

    • Edit config/database.php with your DB credentials.
  4. Configure file permissions:

    • Ensure assets/images/avatars/ is writable for uploads.
  5. Start XAMPP and place the tragos/ folder in htdocs/.

  6. Access:

    • Open http://localhost/tragos/ in your browser.

Configuration

Edit config/database.php:

<?php
$host = '127.0.0.1';
$db   = 'tragos_db';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';
// ...

Usage

  • Register a new account.
  • Login with username/email and password.
  • Search/Create travel groups.
  • Join public groups instantly or request access to private ones.
  • Chat with members in real time.
  • Manage profile and notifications.

Dummy Data

  • Users: john_doe, jane_smith, alice_wong (password: password123).

  • Groups:

    • Backpacking Adventures (public)
    • Luxury Escapes (private)

API Endpoints

Endpoint Method Description
/api/clear-notifications.php POST Clear all user notifications
/api/get-notification.php GET Fetch unread notifications
/api/mark-notification-read.php POST Mark a notification as read
/api/delete-notification.php POST Delete a specific notification
/api/export-data.php GET Export user/group data as CSV
/api/leave-group.php POST Leave a group
/api/delete-group.php POST Delete a group (owner only)

Contributing

Contributions, issues, and feature requests are welcome! Please follow our contribution guidelines.

License

This project is licensed under the MIT License. See LICENSE for details.


Built with ❤ using PHP, MySQL & Vanilla JavaScript

About

TRAGOS is a premium travel & group online system designed to help travelers connect, create, and manage groups, chat in real time, and discover new adventures together.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors