Buddy App - Complete Documentation

Comprehensive guide for your Freshman Capstone Project

What is Buddy?

Buddy is a comprehensive PHP and MySQL-based multi-module web application designed specifically for students. It seamlessly combines social networking, academic tools, roommate expense management, real-time communication, digital wallet features, job discovery, assignment marketplace, translation services, and admin controlβ€”all within a single unified platform.

Platform Vision

Buddy eliminates the need for students to juggle multiple applications. Whether learning through quizzes, connecting with peers, managing shared expenses, seeking job opportunities, or managing financesβ€”everything is integrated in one powerful ecosystem that understands student life.

Core Architecture

The application is built on a unified authentication layer and a shared users table. Specialized modules extend the platform with domain-specific features while maintaining a cohesive user experience.

Key Features At A Glance
πŸŽ“ Academic Learning Tools
πŸ‘₯ Social Networking Features
πŸ’° Financial & Wallet System
πŸ’Ό Complete Job Portal
🏠 Room Expense Management
πŸ€– AI-Powered Chatbot
πŸ“ Assignment Marketplace
🌍 Multi-Language Translation
πŸ“… Smart Task Planning
πŸ”” Real-Time Notifications
πŸ’¬ Direct Messaging
βš™οΈ Admin Control Panel
Project Objectives

Clear goals and purpose of the Buddy platform

Primary Objectives
πŸ“± Account Management

Create, manage, and secure user accounts with multi-factor authentication support

πŸŽ“ Learning Platform

Interactive quizzes, vocabulary tools, and progress tracking for academic growth

πŸ“… Task Organization

Manage schedules, courses, exams, and study sessions seamlessly

πŸ’¬ Communication Hub

Direct messaging, post creation, and real-time notifications

πŸ“š Assignment Marketplace

Buy and sell study materials with ratings and reviews

πŸ’Ό Job Discovery

Post, browse, and apply for job opportunities with ease

🏠 Expense Sharing

Manage roommate expenses with flexible splitting options

πŸ’° Digital Wallet

Secure wallet with transfers, deposits, and referral rewards

🌍 Language Support

Real-time translation between multiple languages

πŸ€– AI Assistance

Smart chatbot for guidance and feature support

πŸ”” Smart Notifications

Real-time updates and system notifications

βš™οΈ Admin Management

Complete platform control and moderation tools

Technology Stack

Modern technologies powering the Buddy platform

Backend & Database
PHP
Server-Side Logic
MySQL/MariaDB
Data Storage
PDO
Data Access Layer
PHP Sessions
Authentication
Frontend & Styling
HTML5
Markup
CSS3
Styling
Tailwind CSS
Framework
JavaScript
Interactivity
External Integrations
Firebase / Google Sign-In for secure authentication
AI Chatbot API for intelligent assistance
Features & Functions

A clearer map of what Buddy does, how the modules connect, and why each feature matters to students

Buddy is designed as a connected student ecosystem. Instead of solving only one problem, it combines secure access, academic support, social interaction, financial tools, career discovery, and administrative control in one place.

This page now moves from overview to detail. First, it explains the platform at a high level. Then it groups the features by purpose, shows a typical student journey, and ends with a compact reference matrix for quick review.

Platform Summary
14
Major Modules

Buddy includes foundation, learning, communication, marketplace, finance, utility, and admin-focused systems.

5
Functional Layers

The features naturally group into foundation, learning, community, finance and opportunity, plus support and governance.

3
Critical Systems

Authentication, profile management, and admin control are the most essential layers because other modules depend on them.

1
Unified Experience

Students do not need separate apps for studying, chatting, expenses, jobs, and transactions because Buddy combines them.

Features Grouped By Purpose
Foundation Layer

Identity, Access, and Personalization

This layer establishes who the user is and lets the rest of the platform trust that identity.

Authentication: registration, login, Google or Firebase sign-in, session handling, and logout.
User Profile: profile updates, avatar uploads, referral code handling, verification requests, and preference settings.
Why it matters: every later action, including messaging, wallet use, and applications, depends on a reliable account system.
Learning Layer

Academic Support and Productivity

Buddy helps students learn consistently and stay organized across courses, exams, and study routines.

Quiz Module: progressive levels, automated scoring, level unlocks, streaks, and leaderboards.
Vocabulary and Planner: word practice, task management, course tracking, exams, grades, events, and study logs.
Why it matters: students can track both learning performance and day-to-day academic planning in one workflow.
Community Layer

Social Engagement and Communication

These features make Buddy collaborative by letting students share updates, maintain conversations, and react in real time.

Social Feed: post creation, image sharing, comments, likes, following, and content interaction.
Messaging and Notifications: direct chat, unread tracking, conversation history, instant alerts, and read updates.
Why it matters: the app becomes a student community space instead of just a productivity dashboard.
Opportunity Layer

Marketplace and Career Growth

Buddy supports student opportunity by allowing resource exchange and job discovery inside the same platform.

Assignment Marketplace: upload materials, create listings, process purchases, collect ratings, and manage reviews.
Job Portal: post jobs, browse openings, apply, upload resumes, and manage applicants or recruiter messages.
Why it matters: students can both earn from academic work and pursue real employment opportunities.
Finance and Utility

Daily Life Management

This group solves practical student problems beyond academics, especially money handling and accessibility support.

Room and Expense Sharing: room setup, member registration, expense splitting, payment tracking, and balance calculation.
Digital Wallet: deposits, withdrawals, transfers, bank linking, transaction history, and referral reward tracking.
Translator and Chatbot: multilingual translation, speech support, app guidance, and question answering.
Governance Layer

Administration and Platform Control

Admin functionality keeps Buddy manageable, moderated, and trustworthy as usage grows across many modules.

Admin Panel: analytics, user management, approvals, monitoring, reports, and activity logging.
Sensitive Workflow Review: job approvals, verification review, wallet request handling, and moderation tasks.
Why it matters: a system this broad needs operational oversight to maintain quality, safety, and consistency.
Typical Student Journey Inside Buddy
1

Create an Account

The student signs up, logs in, customizes the profile, and sets preferences that personalize the rest of the experience.

2

Learn and Plan

They use quizzes, vocabulary, and the planner to improve academic performance and manage upcoming responsibilities.

3

Connect With Others

They share posts, react to content, exchange messages, and stay updated through real-time notifications.

4

Access Opportunities

They browse jobs, submit applications, sell assignments, buy resources, or communicate with recruiters and peers.

5

Manage Student Life

They split room expenses, use the wallet, translate content, and ask the chatbot for guidance when needed.

Reading tip: Buddy is easiest to understand as one connected workflow. The same identity and data model support study tools, social communication, opportunity discovery, and money management across the entire platform.
Module Reference Matrix
Module Main Purpose Most Important Functions Priority
Authentication Foundation
Main Role
  • Provides secure access to the platform.
  • Protects all user-specific features and sessions.
  • Registration
  • Login
  • OAuth sign-in
  • Session handling
  • Logout
Critical
User Profile Foundation
Main Role
  • Stores identity and personalization settings.
  • Maintains account-level metadata used across modules.
  • Profile editing
  • Avatar upload
  • Referrals
  • Verification
  • Theme and language settings
Critical
Social Feed Community
Main Role
  • Enables content sharing among students.
  • Encourages engagement and peer interaction.
  • Posts
  • Image uploads
  • Comments
  • Likes
  • Follows
  • Feed interaction
High
Notifications Community
Main Role
  • Delivers timely system and user alerts.
  • Tracks whether updates have been seen.
  • Unread counts
  • Mark as read
  • Notification history
  • Alert delivery
High
Quiz Module Learning
Main Role
  • Supports structured learning with measurable progress.
  • Uses gamified feedback to motivate students.
  • Levels
  • Scoring
  • Progress tracking
  • Unlocking
  • Leaderboard
  • Streaks
High
Vocabulary Learning
Main Role
  • Improves retention of terms and concepts.
  • Supports focused study and repeated practice.
  • Definitions
  • Examples
  • Vocabulary learning
  • Progress tracking
Medium
Assignment Marketplace Opportunity
Main Role
  • Lets students exchange academic resources.
  • Creates a way to monetize useful work.
  • Listings
  • Uploads
  • Purchases
  • Downloads
  • Ratings
  • Reviews
High
Job Portal Opportunity
Main Role
  • Connects students to internships or jobs.
  • Manages the application process inside the platform.
  • Job posting
  • Browsing
  • Filters
  • Applications
  • Resumes
  • Applicant management
High
Messaging Community
Main Role
  • Provides direct one-to-one communication.
  • Maintains private interaction history between users.
  • User search
  • Chat
  • History
  • Unread tracking
  • Block control
  • Updates
High
Room Management Finance
Main Role
  • Handles shared living expenses.
  • Tracks payment responsibilities among roommates.
  • Rooms
  • Expense splitting
  • Payment tracking
  • Proofs
  • Balance calculation
High
Planner Learning
Main Role
  • Organizes semester work and deadlines.
  • Supports study discipline and academic tracking.
  • Tasks
  • Exams
  • Grades
  • Events
  • Study sessions
  • Dashboard
  • Calendar
High
Digital Wallet Finance
Main Role
  • Supports internal digital transactions.
  • Manages wallet-based money operations securely.
  • Wallet creation
  • Deposits
  • Withdrawals
  • Transfers
  • Bank accounts
  • History
High
Translator Utility
Main Role
  • Improves accessibility for multilingual users.
  • Supports cross-language communication and learning.
  • Language selection
  • Translation
  • History
  • Speech input
  • Speech output
Medium
Chatbot Utility
Main Role
  • Offers automated help inside the application.
  • Guides users through features and support questions.
  • AI responses
  • Support guidance
  • Feature help
  • API integration
Medium
Admin Panel Governance
Main Role
  • Maintains moderation and approvals.
  • Provides analytics and system-wide oversight.
  • Analytics
  • User management
  • Approvals
  • Wallet review
  • Logs
  • Reports
Critical
Core Modules

Detailed breakdown of each module's functionality

Authentication & User Management
Core authentication system handling user identity, sessions, and account management across the platform.
Main Files:
login.php logout.php profile.php settings.php config.php functions.php
Key Functions:
User registration with email verification
Google/Firebase OAuth integration
Session-based access control
Profile editing and updates
Avatar upload and management
Referral code generation
Referral earnings tracking
Verification request handling
Theme customization
Language preference settings
Social Feed & Notifications
Social networking component enabling users to share content, engage with others, and receive real-time notifications.
Main Files:
index.php notifications.php mark_notification_read.php
Key Functions:
Create and publish posts
Upload post images
Comment on user posts
Like and unlike functionality
Follow/unfollow users
Generate notifications
Mark notifications as read
Track unread count
Notification history
Quiz & Learning Module
Structured learning system with progressive levels, questions, scoring, and progress tracking for academic enhancement.
Main Files:
quiz/index.php quiz/get_quiz.php quiz/config.php quiz.php vocabulary.php
Key Functions:
Load quiz levels progressively
Fetch level-specific questions
Submit and validate answers
Calculate score automatically
Determine pass/fail status
Unlock next level on success
Store test attempts
Track user progress
Maintain leaderboard rankings
Track streak counters
Vocabulary word management
Assignment Marketplace
Peer-to-peer marketplace for buying and selling educational materials, assignments, and study resources.
Main Files:
Assignment/assignment.php
Key Functions:
Create assignment listings
Upload files or external links
Upload thumbnail images
Assign categories
Charge listing fees
Process purchases
Track downloads
Collect user ratings
Manage reviews
Display seller history
Job Portal
Complete employment marketplace with job posting, browsing, application tracking, and recruiter management.
Main Files:
job portal/index.php job portal/api.php job portal/post_job.php job portal/job_details.php job portal/my_jobs.php job portal/messages.php job portal/notifications.php job portal/profile.php job portal/applicant_profile.php
Key Functions:
Post new job listings
Browse available jobs
Filter and search jobs
Apply for positions
Upload resume documents
Manage applicant profiles
Send notifications
Admin job approvals
Track applications
Recruiter messaging
Messaging System
Real-time one-to-one messaging system with friend management and privacy controls.
Main Files:
messaging/index.php messaging/api.php messaging/send_message.php messaging/get_messages.php messaging/get_friends.php messaging/add_friend.php messaging/remove_friend.php messaging/find_user.php messaging/js/chat.js
Key Functions:
Search for users
Create conversations
Add friends
Remove friends
Send messages
Retrieve message history
Load conversation list
Track unread counts
Prevent blocked user communication
Real-time message delivery
Room & Expense Sharing
Comprehensive roommate expense management with flexible splitting algorithms and balance tracking.
Main Files:
room/index.php room/register.php room/dashboard.php room/profile.php room/logout.php room/config.php
Key Functions:
Create new rooms
Join existing rooms
Register room members
Add expenses
Equal expense splitting
Percentage-based splitting
Custom amount splitting
Mark payments
Upload settlement proofs
Calculate balances
Request room deletion
Planner Module
Academic planning tool for managing semesters, courses, tasks, exams, and study sessions.
Main Files:
Planner/index.php Planner/config.php
Key Functions:
Manage semesters
Track courses
Add tasks
Categorize tasks
Schedule exams
Record grades
Manage university events
Log study sessions
Calculate study hours
Dashboard statistics
Calendar view
Wallet & Referral Module
Digital wallet system with financial transactions, transfers, and referral reward tracking.
Main Files:
Wallet/index.php buddy_admin/admin_wallet.php
Key Functions:
Create user wallets
Generate unique wallet UIDs
Request deposits
Request withdrawals
Transfer between wallets
Add bank accounts
View transaction history
Admin approval system
Track referral bonuses
Translator Module
Multi-language translation service with history tracking and speech support.
Main Files:
Translator/translator.php Translator/translate_api.php Translator/translator_history.php Translator/clear_translation_history.php
Key Functions:
Select source language
Select target language
Translate text
Store translation history
Load past translations
Clear history
Speech input support
Speech output support
Chatbot Module
AI-powered assistant providing guidance and feature support to users.
Main Files:
Chatbot/index.php Chatbot/api.php Chatbot/chatbot-api.php
Key Functions:
Receive user messages
Process with AI model
Answer app questions
Provide feature guidance
Manage API keys
Support integration
Admin Panel
Comprehensive administration tools for platform management, moderation, and analytics.
Main Files:
buddy_admin/admin.php buddy_admin/login.php buddy_admin/logout.php buddy_admin/admin_wallet.php buddy_admin/job-portal.php buddy_admin/agent.php buddy_admin/agent-api.php
Key Functions:
Admin authentication
View platform statistics
Manage users
Review verification requests
Approve/reject jobs
Manage wallet requests
Monitor quiz activity
Record admin actions
Generate reports
System Diagrams

Visual representation of system architecture and data flow

Diagram Descriptions
System Block Diagram

Shows the overall architecture with users, admin panel, shared PHP backend, authentication layer, all 12 modules, and the central MySQL database. Demonstrates how each module connects to the database and authentication system.

High-Level Data Flow

Illustrates the complete journey of data from user input through the browser, PHP controllers, business logic, database operations, and back to the user as HTML/JSON responses. Essential for understanding system workflows.

Process Flowcharts

Detailed process flows for key system operations

Flowchart Overview
User Login

Input validation β†’ Database check β†’ Credential verification β†’ Session creation β†’ Redirect

Quiz Attempt

Load questions β†’ Answer β†’ Submit β†’ Score β†’ Pass/Fail β†’ Update progress

Messaging

Load conversations β†’ Create/Select β†’ Check blocking β†’ Compose β†’ Send β†’ Store

Assignment Selling

Fill form β†’ Validate β†’ Check balance β†’ Upload β†’ Insert β†’ Deduct fee

Job Application

Browse β†’ Details β†’ Apply β†’ Login check β†’ Validate β†’ Store application

Room Expense Split

Add expense β†’ Select type β†’ Equal/Percentage/Custom β†’ Create records β†’ Update balances

Wallet Transfer

Enter amount β†’ Validate β†’ Load wallets β†’ Check balance β†’ Transfer β†’ Record

Database Schema

Complete database structure with 40+ tables

Database Tables

Buddy uses a relational MySQL database with 40+ tables organized into logical groups:

User & Authentication (6 tables)
users
admins
user_verification_requests
user_follows
user_friends
user_blocks
Social & Notifications (4 tables)
posts
post_comments
post_reactions
notifications
Learning & Quiz (7 tables)
quiz_levels
quiz_questions
level_questions
test_attempts
user_answers
user_progress
Marketplace (3 tables)
assignments
assignment_purchases
assignment_reviews
Job Portal (2 tables)
jobs
applications
Messaging (1 table)
messages
Room Management (3 tables)
rooms
room_members
expenses
expense_splits
payments
Planner (6 tables)
semesters
courses
tasks
exams
grades
university_events
study_sessions
Financial (6 tables)
user_wallets
wallet_transactions
wallet_transfers
user_bank_accounts
referral_bonuses
Utilities (2 tables)
translations
chatbot_settings
Database Architecture Highlights
Centralized Users Table

All modules reference the core users table, ensuring data consistency and unified user management across the platform

Relational Design

Foreign keys and relationships ensure referential integrity, preventing orphaned records and maintaining data quality

Modular Organization

Tables are grouped by module, making the schema easy to understand and maintain while supporting 12+ distinct features

Scalability

Well-indexed tables support efficient queries even as data grows, with separate tables for transactions and audit trails

Functional Strengths

Key advantages and strong points of the Buddy platform

Multi-Purpose Student Platform

Consolidates 12+ distinct features into a single application, eliminating the need for students to switch between multiple specialized tools.

Centralized User Account

Unified authentication system means one login grants access to all modules, simplifying account management and user experience.

Academic & Daily-Life Integration

Covers learning (quizzes, planner), social interaction (feed, messaging), finance (wallet), and employment (job portal) in one system.

Relational Database Design

Clean schema with primary/foreign keys ensures data integrity, prevents duplication, and supports complex queries efficiently.

Admin Control & Moderation

Comprehensive admin panel enables platform moderation, approvals (jobs, wallets, verification), and oversight of all user activities.

Multiple Interaction Modes

Supports both traditional page navigation and modern AJAX requests, providing flexibility in UI/UX design and smooth user interactions.

Monetization Features

Assignment marketplace and wallet system create revenue opportunities through transaction fees, listing charges, and financial services.

User Engagement Features

Social feed, messaging, real-time notifications, and AI chatbot create an interactive, engaging ecosystem that encourages frequent use.

Observed Limitations

Areas for improvement and current constraints

Runtime Database Modifications

Some modules create or modify database tables at runtime instead of relying solely on migrations. This can cause issues in version control and deployment.

Uneven Feature Maturity

Different modules have varying levels of completion and polish. Some features are fully implemented while others need refinement and optimization.

Tight Coupling

Some pages are tightly coupled to direct PHP page rendering, making refactoring and testing difficult. API separation would improve maintainability.

External Dependencies

Chatbot and Google Sign-In require proper external configuration. Missing or incorrect settings can cause features to fail gracefully but not function.

Documentation Improvements Needed

Would benefit from clearer API separation and comprehensive per-module documentation to help new developers understand and extend the system.

Conclusion

Project summary and final remarks

Project Overview

Buddy is a comprehensive educational and social web application that successfully brings together student productivity, community interaction, learning tools, financial features, and marketplace functionality into a single, well-integrated PHP/MySQL platform. The application demonstrates excellent architectural design with its modular approach, shared authentication system, and centralized user management.

Key System Qualities
Modularity

Each feature operates as a self-contained module with its own logic while sharing the unified authentication and user system

Shared Authentication

Unified login system ensures consistent identity across the platform and reduces authentication complexity

Multi-Feature Integration

Features work seamlessly together, enabling cross-module interactions and a cohesive user experience

Database-Centered Design

Relational schema with 40+ tables supports all modules while maintaining data integrity and consistency

Future Improvements
Implement proper database migration system (Laravel Migrations or similar)
Standardize API endpoints with RESTful design patterns
Reduce tight coupling through dependency injection and service layers
Add comprehensive API documentation and OpenAPI/Swagger specifications
Implement automated testing (unit, integration, end-to-end)
Establish CI/CD pipeline for automated deployments
Consider microservices architecture for greater scalability
Implement caching strategies (Redis) for performance
Add comprehensive logging and monitoring
Improve error handling and user feedback
Capstone Project Success

This comprehensive documentation covers all aspects of the Buddy App, making it an excellent resource for your Freshman Capstone Project presentation. The system demonstrates strong software engineering principles with its modular architecture, unified authentication, and extensive feature set. The documentation includes detailed feature matrices, module breakdowns, system diagrams, flowcharts, database schema, and analysis of strengths and limitationsβ€”everything needed for a professional capstone submission.