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.
- 📊 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.
- 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.
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
- Install a local server stack like XAMPP, WampServer, or Laragon.
- Ensure Git is installed on your local machine.
- Clone the repository:
git clone https://github.com/Ali199012/ConfidentMe.git cd ConfidentMe - Move the project folder:
- Move the entire
ConfidentMefolder into your local server's root web directory (e.g.,C:/xampp/htdocs/for XAMPP).
- Move the entire
- 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.sqlfile from the root folder, and click Go.
- Environment Connection:
- Inside the
api/directory, copy the filedb_connect.php.exampleand rename it todb_connect.php. - Open
db_connect.phpin 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
- Inside the
- 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!
- Open your browser and navigate to:
This project is licensed under the MIT License - see the LICENSE file for details.