Skip to content

This repository showcases the work I completed during my internship at Softher. The project focused on developing a novel calendar-based representation for ERP Panthera grids using Angular. It aimed to improve data visualization and accessibility for ERP users.

Notifications You must be signed in to change notification settings

medtaher123/ERP-Panthera-Calendar-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

ERP Panthera Calendar Project

Overview

This repository showcases the work I completed during my internship at Softher. The project focused on developing a novel calendar-based representation for ERP Panthera grids using Angular. It aimed to improve data visualization and accessibility for ERP users.

This project plays a pivotal role as one of the main new features in the recently released and highly anticipated major update, ERP Panthera version 5.0.

Demo

A live demo of the project is not available yet.
A video presentation is available at YoutubeLink (the presentation is in Italian, enabling subtitles is recommended)

Technologies Used

  • Angular
  • TypeScript
  • HTML
  • CSS
  • Java

Project Objectives

The primary objective of my internship was to create a new representation of Panthera's ERP grids in the form of a calendar. This calendar would offer a more comprehensive and practical view when handling date-related operations. Users would have the flexibility to switch between the traditional grid view and the new calendar view based on their specific requirements.

Features

It's crucial to note that the calendar needed to support all entities within Panthera that possess at least one date field. Furthermore, each entity is unique, making it necessary to find a generalized solution.

Original Grid View

image

Calendar Views

I leveraged Angular's CalendarComponent and tailored it to Panthera's style and our specific needs. The result is as follows: The calendar offers three primary views: Month View, Week View, and Day View.

  • Month View*

    image

  • Week View

image

  • Day View

image

All three views facilitate event manipulation through drag and drop. A single click on an item opens an event editing page, and a tooltip displays event details.

image

Data Transformation

The transformation from the grid to the calendar works as follows: Each row in the grid is represented by an event in the calendar.

  • A column of type String (or int) represents the event's title.
  • A column of type Date or Timestamp, or two columns (one Date and one Time) as needed, represents the event's date.
  • A column of type Enum specifies the color of the event in various views. These colors are consistent with those in the original grid.

The choice of columns is customizable by the end user, each user has their own settings.

Filtered Grids and Copy Functionality

At the bottom of the page, another grid appears upon clicking on a day displaying items for the activated date. This allows for the simultaneous copying of one or more items to a specific date in the calendar.

image

This grid also enables the copying of one or more items and allows for navigation to another month before pasting, a feature not possible with drag and drop alone.

Mobile Version

A simplified mobile version is also available (the style was not updated to the last version). For the active day, users can switch between a view containing a list of events and a grid.

Dual View

I also developed additional versions that can simplify data manipulation by displaying two views simultaneously, enabling drag and drop between distant dates.

image image image image

About

This repository showcases the work I completed during my internship at Softher. The project focused on developing a novel calendar-based representation for ERP Panthera grids using Angular. It aimed to improve data visualization and accessibility for ERP users.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published