Skip to content

Showcase your work, skills, and achievements with our modern portfolio builder. Stand out in the digital world with a stunning portfolio website.

License

Notifications You must be signed in to change notification settings

abhinavtiwari77/AchieveIt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

PortfolioBuilder

⚙️ Tech Stack Used

Layer and Technologies Frontend-HTML, Tailwind CSS, JavaScript Backend-PHP Database-MySQL

DATABASE NAME-

goaltrack_pro

MYSQL CODE TO ADD IN DATABASE

CREATE DATABASE goaltrack_pro;
USE goaltrack_pro;

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL UNIQUE,
    email VARCHAR(100) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    dark_mode BOOLEAN DEFAULT FALSE
);

CREATE TABLE goals (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    title VARCHAR(100) NOT NULL,
    description TEXT,
    due_date DATE,
    priority ENUM('low', 'medium', 'high') DEFAULT 'medium',
    progress INT DEFAULT 0,
    status ENUM('active', 'completed', 'archived') DEFAULT 'active',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);

CREATE TABLE activities (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    activity_type VARCHAR(50) NOT NULL,
    goal_id INT,
    description TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
    FOREIGN KEY (goal_id) REFERENCES goals(id) ON DELETE SET NULL
);
CREATE TABLE IF NOT EXISTS skills (
  id int(11) NOT NULL AUTO_INCREMENT,
  user_id int(11) NOT NULL,
  skill_name varchar(100) NOT NULL,
  proficiency int(11) NOT NULL DEFAULT 5,
  category varchar(100) DEFAULT NULL,
  description text DEFAULT NULL,
  created_at datetime NOT NULL,
  updated_at datetime NOT NULL,
  PRIMARY KEY (id),
  KEY user_id (user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Add constraint to ensure skills are deleted when user is deleted
ALTER TABLE skills
  ADD CONSTRAINT skills_ibfk_1 FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE;

CREATE TABLE IF NOT EXISTS achievements (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    title VARCHAR(100) NOT NULL,
    description TEXT,
    date_achieved DATE NOT NULL,
    category VARCHAR(50),
    image_url VARCHAR(255),
    is_featured BOOLEAN DEFAULT FALSE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Structure of code

portfolioBuilder/
│
├── ajax/                       # AJAX endpoints
│   ├── get_achievement.php
│   └── get_skill.php
│
├── assets/                     # Static assets
│   ├── images/                 # Avatars and project images
│   └── js/
│       └── main.js             # Custom JS logic
│
├── classes/                    # Core logic classes
│   ├── Achievement.php
│   ├── CSRF.php
│   ├── Goal.php
│   └── skill.php
│
├── includes/                   # Reusable includes
│   ├── auth.php
│   ├── config.php
│   ├── db.php
│   ├── footer.php
│   ├── functions.php
│   ├── header.php
│   ├── sidebar.php
│   └── topnav.php
│
├── achievements.php            # User achievements page
├── add_goal.php                # Form to add goals
├── dashboard.php               # Main dashboard
├── delete_goal.php             # Delete a goal
├── edit_goal.php               # Edit a goal
├── goals.php                   # Goal listing
├── index.php                   # Entry point
├── landing.php                 # Landing page
├── login.php                   # Login page
├── logout.php                  # Logout handler
├── profile.php                 # User profile
├── register.php                # Register page
├── report.txt                  # Development report or logs
├── skills.php                  # User skills page
├── update_dark_mode.php        # Toggle dark mode
└── README.md                   # Project overview

✨ Key Features 🔓 Authentication System:- Sign Up: Users can register using their name, email, and password. Sign In: Secure login system using PHP & MySQL. Redirect to Dashboard after login for personalized experience.

🏠 Landing Page:- Introductory screen to show what the platform offers. Highlights features like project management, skill tracking, and achievement uploads.

📊 Dashboard:- Central hub of the platform.

Displays:- Active Projects with progress bars and priority tags. Completed Projects Recent Activity Logs

📌 Projects Management:- Add, edit, and delete projects. Each project shows: Name, description Due date, status Progress bar Priority label (High/Medium/Low)

🧠 Skills Section:- Add technical or soft skills. Select proficiency: Beginner, Intermediate, Expert. Skill-based self-evaluation system.

🏆 Achievements Section:- Upload certificates, awards, or project screenshots or images. Add a short description for each. Great for showcasing:

Certifications:- Hackathon wins Internship completions Personal milestones

⚙️ Settings Page:- Change username and email. Update/reset password with validation. Keep user data secure and customizable.

image image image image image

About

Showcase your work, skills, and achievements with our modern portfolio builder. Stand out in the digital world with a stunning portfolio website.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages