Skip to content

MEHWISH310/CRM-Driven-Internship-Application-Tracker

Β 
Β 

Repository files navigation

product-portfolio-salesai-background-2

Internship Tracker & Skills Badge Manager APP

PRs Welcome GitHub contributors License: GPL v2 GitHub issues Discussions


πŸ“Œ Project Overview

Internship Tracker & Skills Badge Manager is a Salesforce-powered application designed to streamline the entire internship lifecycle β€” from application tracking, monitoring skill acquisition, to automating reminders and awarding achievement badges.

Built with Lightning Web Components (LWC) for a modern UI and comprehensive Apex automation, this system enables users to:

  • Efficiently track internship applications, statuses, and company details.
  • Receive automated reminders for application deadlines and skill milestones.
  • Manage and prioritize skills development with interactive trackers.
  • Earn badges recognizing skill achievements.
  • Automate important email notifications triggered by system events.

This repository contains well-structured folders housing Apex classes, triggers, LWCs, object metadata, static resources, and essential docs.


Application Filter:

UPDATE_Feature.mov

Drag & Drop Skills:

DRAG-DROP_Feature.mov

Achievements And Awards:

Skill.Update.Badge.mov

πŸ“Š Table of Contents


πŸš€ Features

  • Comprehensive Internship Application Tracking with key details and statuses.
  • Automated Email Notifications on status changes and upcoming deadlines.
  • Skill Progress Monitoring with priority and proficiency levels.
  • Dynamic Achievement Badges awarded on skill completion.
  • User-Friendly Interactive UI powered by LWC components.
  • Drag-and-Drop Skill Prioritizer for personal learning path customization.

Application Form:

Application_Form.mov
Skill_Form.mov

πŸ—‚οΈ Data Models

Object Purpose Key Fields & Notes
Application__c Internship application records Role Applied, Student Name, Status (Picklist), Last Date to Apply, Applied On, Company Name, Applied (Checkbox)
Skills__c Skill tracking & reminders Completion Status, Proficiency Level, Reminder Frequency, Start/End Dates, Priority
User_Badge__c User-earned badges Badge Lookup, Earned Date, Associated User
Badge__c Badge definitions & metadata Name, Description, Image URL

βš™οΈ Automation & Logic (Apex Triggers & Classes)

Application Triggers:

  • Send notification email when status transitions to Selected.
  • Reminder emails 3 days before Last Date to Apply.
  • Automatically set Applied_On__c when Applied checkbox is checked.
  • Send skill reminder emails based on application details.

Skills Triggers:

  • Trigger reminders when Reminder_Needed__c is checked for skills.

Apex Classes:

Class Name Responsibility
ApplicationWrapper & ApplicationController Backend logic for Application LWC UI
ReminderController Handles reminder scheduling/email notifications
ApplicationMailer Centralized email dispatch for triggers
SkillsBadgeHandler Validates skill completion & awards badges
BadgeDisplayController Provides badge data to UI components
SkillsController Core skill tracking logic for LWC
SkillPriorityController Drag-and-drop skill prioritizer logic
SkillsUpdateController Skill updates & interaction management

πŸ’» Lightning Web Components (LWC)

Application Components:

  • Internship Application Form
  • Application Filter by Date

Skills Components:

  • Skill Tracker & Entry Form
  • Drag-and-Drop Skill Prioritizer
  • Skill Update Interface

Badge Components:

  • My Achievements & Badge Display

These LWCs deliver a seamless, responsive user experience fully integrated with Apex backend logic.

πŸ“‚ Project Structure

.
β”œβ”€β”€ .gitignore
β”œβ”€β”€ CONTRIBUTING.md
β”œβ”€β”€ LICENSE
β”œβ”€β”€ README.md
β”œβ”€β”€ classes/
    β”‚   β”œβ”€β”€ ApplicationManager.cls
    β”‚   └── EmailService.cls
β”œβ”€β”€ lwc/
    β”‚   β”œβ”€β”€ applicationForm/
    β”‚   β”‚   β”œβ”€β”€ applicationForm.html
    β”‚   β”‚   β”œβ”€β”€ applicationForm.js
    β”‚   β”‚   └── applicationForm.js-meta.xml
    β”‚   │── skillForm/
    β”‚   β”‚   β”œβ”€β”€ skillSelector.html
    β”‚   β”‚   └── skillSelector.js
    β”‚   β”œβ”€β”€ applicationForm/
    β”‚   β”‚   β”œβ”€β”€ applicationForm.html
    β”‚   β”‚   β”œβ”€β”€ applicationForm.js
    β”‚   β”‚   └── applicationForm.js-meta.xml
β”œβ”€β”€ objects/
    β”‚   β”œβ”€β”€ Application__c/
    β”‚   β”‚   └── Application__c.object-meta.xml
    β”‚   │── Skill__c/
    β”‚   β”‚   └── Skill__c.object-meta.xml
    β”‚   │── User_Badge__c/
    β”‚   β”‚   └── User_Badge__c.object-meta.xml
    β”‚   └── Badge__c/
    β”‚       └── Badge__c.object-meta.xml
β”œβ”€β”€ staticresources/
    β”‚   β”œβ”€β”€ project_logo.png
    β”‚   └── Badges.png
└── triggers/
        β”œβ”€β”€ ApplicationTrigger.trigger
        └── SkillTrigger.trigger

Key Directories

  • triggers/: Contains all the Apex triggers.
  • classes/: Houses the Apex classes that handle the business logic.
  • objects/: Defines the custom Salesforce objects for this application.
  • lwc/: Source code for the Lightning Web Components that make up the user interface.
  • staticresources/: Holds static assets like images, icons, and stylesheets.


🏁 Getting Started

  1. Clone the repository:
  2. Deploy Salesforce Metadata: Use Salesforce CLI or your preferred deployment tool to push metadata from folders (/Triggers, /Classes, /LWC, /ObjectManager).
  3. Assign Permissions: Configure Salesforce profiles/permission sets to grant access to necessary components.
  4. Configure Email Templates: Customize email templates or notifications if needed.
  5. Explore & Test: Use the interactive LWCs in your org to manage applications, skills, and badges.
  6. Refer to docs inside respective folders for detailed instructions and best practices.

🀝 Contributing

We're Happy TO Welcome Contributions!

About

Internship Tracker & Skills Badge Manager is a Salesforce-powered application

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 58.7%
  • HTML 32.7%
  • CSS 8.6%