DEV Community

Cover image for πŸš€ Building a CRM in PHP & MySQL: My Final Year Project Journey πŸŽ“
Ashish prajapati
Ashish prajapati

Posted on

πŸš€ Building a CRM in PHP & MySQL: My Final Year Project Journey πŸŽ“

Hi everyone! πŸ‘‹ It’s Day 3 of my CRM development journey, and today, I worked on building the Task Management Module. Along the way, I learned and implemented Calendar.js for scheduling tasks and Chart.js for creating task-related visualizations. Let me share my progress and insights!


πŸ—‚οΈ Folder Structure for Task Management

Here’s the folder structure I created for the Task Management Module:

  • index.php: The main entry point for task management.
  • DisplayTask.php: Shows all tasks in a sortable, user-friendly table.
  • Task_manage.php: Handles creating and assigning tasks.
  • task_calander.php: Displays tasks using Calendar.js.
  • task_desh.php: Provides an overview of key metrics and charts.
  • track_task.php: Tracks task progress with interactive features like progress bars.
  • delete_task.php: Enables task deletion.
  • send_task_reminders.php: Automates task reminders via email.

πŸ—“οΈ Learning Calendar.js

One of today’s highlights was learning Calendar.js, a library for creating beautiful, interactive calendars. After experimenting with its documentation, I managed to:

  • Implement task scheduling: Add, view, and update tasks directly on the calendar.
  • Build an interactive UI: Clickable dates and dynamic task display.
  • Enable seamless task navigation: Switch between day, week, and month views.

This was my first time working with Calendar.js, and it’s an incredible tool for task scheduling!


πŸ“Š Learning Chart.js

Another milestone today was learning and integrating Chart.js. It was fascinating to explore its capabilities, and I used it to create:

  • Task Completion Chart: Visualizes completed vs. pending tasks.
  • Priority Breakdown: A pie chart categorizing tasks by priority (High, Medium, Low).
  • Progress Tracker: A line chart tracking task progress over time.

Learning Chart.js opened my eyes to how charts can make data much easier to understand. It added a professional touch to the Task Dashboard!


πŸ’‘ What I Learned Today

  1. Calendar.js: I learned how to integrate and customize an interactive calendar for task scheduling.
  2. Chart.js: I gained experience in creating various types of charts to visualize task data.
  3. Task Management CRUD: Implemented Create, Read, Update, and Delete operations for tasks.
  4. PHP Integration: Used PHP to fetch, manage, and update tasks dynamically with the calendar and dashboard.

πŸ“Έ Images

  • Task Dashboard (with Chart.js):

Image description

  • Calendar View (using Calendar.js):

Image description

  • Update Task Feature:

Image description

  • Show Tasks (Task Table):

Image description

  • Show Tasks based on Completion (chart ):

Image description

πŸ”‘ Key Takeaway

Today was all about learning and implementing new tools like Calendar.js and Chart.js. It was a rewarding experience to see these features come to life and how they enhanced the Task Management Module.


Stay tuned for Day 4, where I’ll work on Lead Analytics and User Roles! Let me know your thoughts or suggestions in the comments. 😊

Top comments (0)