Skip to content

Ali199012/ConfidentMe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌟 ConfidentMe

A comprehensive full-stack personal growth and confidence-building web application designed to help users track progress, overcome social anxiety, and build positive habits.

ConfidentMe is a modern, responsive web application engineered to empower individuals on their self-improvement journeys. The platform blends cognitive behavioral tracking tools (like fear logs and interactive journals) with gamified daily challenges, a supportive peer community board, and an educational resource library.

Developed with a decoupled architecture—using a modular HTML5/CSS3/JavaScript (ES6) frontend that communicates asynchronously with a secure PHP/MySQL API backend—this project demonstrates clean, professional software design principles ideal for real-world deployments.


🚀 Key Features

  • 📊 Interactive Dashboard
    • Track your progress with real-time stats including your current Daily Challenge Streak, Mean Fear Level, and active accomplishments.
    • Dynamic, interactive data visualizations of fear metrics over time built using Chart.js.
    • Quick-log widgets for rapid daily journaling and immediate fear logging.
  • ⚡ Daily Challenges
    • Gamified daily actions (e.g., “Compliment someone genuinely”) designed to encourage micro-steps out of your comfort zone.
    • Completing tasks feeds into your streak counter to build long-term positive habits.
  • 🎯 Fear & Anxiety Tracker
    • Identify specific fears, log detailed descriptions, and evaluate initial intensity levels.
    • Update fear progress or delete items as you face them, transforming anxiety into manageable goals.
  • 📔 Private Journal
    • A secure diary to record thoughts, reflections, and confidence ratings (1-10) to monitor mental well-being over time.
  • 💬 Community Board
    • A simulated social space for users to share inspirational posts, ask questions, upvote helpful contributions, and connect with peers.
  • 📚 Resource Library
    • Curated self-help resources, articles, videos, and books categorized by topics. Users can upvote the most impactful resources.
  • 🛡️ Secure Admin Portal
    • Dedicated interface for site administrators to view platform analytics, inspect database records, and manage user feedback.
  • 🆘 SOS Page
    • A quick-access panic button that provides instant breathing exercises, grounding techniques, and hotlines for high-anxiety moments.

🛠️ Technology Stack

  • Frontend:
    • Semantic HTML5 for accessible and search-optimized structure.
    • Modern Vanilla CSS3 featuring flexible layouts (Flexbox, Grid), CSS variables for theming, and smooth keyframe animations.
    • JavaScript (ES6) using the modern fetch() API for seamless, page-reload-free (AJAX) interactions.
    • Chart.js library for clean, vector-based line charts.
  • Backend:
    • PHP implementing RESTful API endpoints that consume and return JSON payloads.
    • MySQL database for reliable relational data storage.
    • Secure sessions (session_start()) to manage authentication states and enforce timeout gates.
  • Security & Database Best Practices:
    • SQL injection prevention via parameterized queries and prepared statements.
    • Cryptographic password hashing utilizing PHP's secure password_hash() algorithm (bcrypt).
    • Proper database design containing schema structures, relationships, auto-increments, and cascading foreign keys.

📁 Repository Structure

ConfidentMe/
├── api/                   # PHP Backend REST API
│   ├── challenges/        # Daily challenge completion handlers
│   ├── community/         # Forum post, upvote, and retrieval endpoints
│   ├── fears/             # CRUD endpoints for cognitive fear logs
│   ├── feedback/          # Admin feedback collection
│   ├── resources/         # Resources retrieval and rating systems
│   ├── db_connect.php     # Active connection settings (Git-ignored)
│   ├── db_connect.php.example # Database connection template
│   ├── check_auth.php     # Shared helper to verify authenticated sessions
│   ├── login.php          # Session validation & credential checker
│   ├── logout.php         # Clean session termination
│   └── register.php       # Account creation with secure hashing
├── pages/                 # Frontend Views (HTML/CSS/JS)
│   ├── admin.html         # Portal for system administrators
│   ├── challenges.html    # Gamified challenges panel
│   ├── community.html     # Interactive post board
│   ├── dashboard.html     # Main analytics and logs screen
│   ├── fear_tracker.html  # Cognitive tracking UI
│   ├── feedback.html      # Help and suggestion desk
│   ├── journal.html       # Reflection log interface
│   ├── login.html         # User sign-in/sign-up forms
│   ├── resources.html     # Curated links and votes directory
│   └── sos.html           # Emergency grounding tools
├── database.sql           # Database schema tables and constraints
├── LICENSE                # MIT License
└── README.md              # Project Documentation

💻 Local Setup & Installation

Prerequisites

  1. Install a local server stack like XAMPP, WampServer, or Laragon.
  2. Ensure Git is installed on your local machine.

Installation Steps

  1. Clone the repository:
    git clone https://github.com/Ali199012/ConfidentMe.git
    cd ConfidentMe
  2. Move the project folder:
    • Move the entire ConfidentMe folder into your local server's root web directory (e.g., C:/xampp/htdocs/ for XAMPP).
  3. Database Configuration:
    • Start your Apache and MySQL servers in XAMPP.
    • Open a browser and navigate to http://localhost/phpmyadmin/.
    • Create a new database named confidentme_db.
    • Click on the Import tab, select the database.sql file from the root folder, and click Go.
  4. Environment Connection:
    • Inside the api/ directory, copy the file db_connect.php.example and rename it to db_connect.php.
    • Open db_connect.php in a text editor and adjust the parameters to match your local database settings:
      $host = "localhost";
      $db   = "confidentme_db";
      $user = "root";
      $pass = ""; // default is blank in XAMPP
  5. Run the Application:
    • Open your browser and navigate to: http://localhost/ConfidentMe/pages/login.html
    • Register a new account, set up your profile, and start building confidence!

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A full-stack confidence-building app with journal tracking, fear logs, daily challenges, and a community board. Built with PHP/MySQL backend and vanilla JS frontend.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors