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.
UPDATE_Feature.mov
DRAG-DROP_Feature.mov
Skill.Update.Badge.mov
- Features
- Data Models
- Automation & Logic
- Lightning Web Components (LWC)
- π Project Structure
- Getting Started
- Contributing
- License
- Contact
- 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.mov
Skill_Form.mov
| 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 |
- 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.
- Trigger reminders when Reminder_Needed__c is checked for skills.
| 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 |
- Internship Application Form
- Application Filter by Date
- Skill Tracker & Entry Form
- Drag-and-Drop Skill Prioritizer
- Skill Update Interface
- My Achievements & Badge Display
These LWCs deliver a seamless, responsive user experience fully integrated with Apex backend logic.
.
βββ .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
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.
- Clone the repository:
- Deploy Salesforce Metadata: Use Salesforce CLI or your preferred deployment tool to push metadata from folders (
/Triggers,/Classes,/LWC,/ObjectManager). - Assign Permissions: Configure Salesforce profiles/permission sets to grant access to necessary components.
- Configure Email Templates: Customize email templates or notifications if needed.
- Explore & Test: Use the interactive LWCs in your org to manage applications, skills, and badges.
- Refer to docs inside respective folders for detailed instructions and best practices.
We're Happy TO Welcome Contributions!
