Coder Social home page Coder Social logo

calendar's People

Contributors

dependabot[bot] avatar finos-admin avatar gautamjuyal avatar maoo avatar mimiflynn avatar renovate[bot] avatar thejuanandonly99 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

calendar's Issues

Configure ESLint

  • create .eslintrc.json
  • include react and react-hooks rules
  • add eslint check to build
  • fix issues that come up

Filter events by project

Add the possibility to filter events by projects; visually, the should be a list of projects (either in a dropdown or as a checklist) and by clicking (or enabling/disabling) events should instantly show or hide.

Tasks:

  1. Define a way to associate events to projects; this can be done by defining string matching between project names and the event title during the event fetching/parsing (googleapi2events.js)
  2. Populate the project field in events.json
  3. Render out the list of projects (create a set from the list of all project fields in events.json) as a checklist or drop-down, somewhere in the event grid page
  4. Filter events in FullCalendar based on the project event field (this code can be partially reused)
  5. Add the project field in the event details popup

cc @jgavronsky , as she suggested this enhancement

Docs update for project setup

While setting up the project, I found a few steps were missing or required more elaboration. For example :

  1. Project requires GNUPG to be installed on the device.
  2. dist directory needs to be created in order to generate events.json file.

Adding these steps and some improvements will definitely help future contributors save some setup time that they can otherwise use in contribution. I would also like to work on this issue.

Add search feature

Add a search bar on the top to search based on the text content of the entries, and hide items based on that.

Proposal: Refactor to React

Overall, this is a proposal to use a framework / component library that will abstract away the HTML templating and state management aspects of JavaScript into a documented and approachable way.

I'm proposing React because I already know it and it not as heavy as Angular, my favorite enterprise front end framework. Using a tool I already know will help me get something out in a few hours and to best support anyone on this team that wants to contribute. The codebase will follow the basic best practices (nothing too complex to start) and allow those with React experience to contribute easily while allowing others to learn those practices.

I propose starting with create-react-app as the base and to continue using FullCalendar with their React component.

Please let me know your thoughts.

Local run

It should be possible to run this calendar locally, using vite, express or similar frameworks.

Running from file:// is not an option, since CORS blocks the loading of the local ICS file.

Formatting issues

Below is a list of screenshots that show formatting issues on some calendar events; for each of those, we'd need to understand why they're rendering out differently than others.

image (2)
image (3)
image

Use local timezone to show start and end date

Each event shows a start and end date, which is currently expressed using Eastern Timezone.

This task is to express these dates/times following the timezone passed by the browser.

Duplicate Events

Some events are being duplicated:

  • KDB Project call
  • FINOS Diversity, Equity and Inclusion SIG - Monthly Meeting
  • CDM Steering Working group
  • and others

Some are duplicated on https://calendar.google.com/calendar/embed?src=finos.org_fac8mo1rfc6ehscg0d80fi8jig%40group.calendar.google.com&ctz=Europe%2FMadrid (like CDM Collateral Working Group) which leads to the duplication. Others are not. Some are duplicated only on some occurrences and some are duplicated on every instance. Not sure why. Need to investigate.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/build.yml
  • actions/checkout v4
  • actions/setup-node v4
  • peaceiris/actions-gh-pages v3
.github/workflows/cve-scanning.yml
  • actions/checkout v4
  • actions/setup-node v4
  • dependency-check/Dependency-Check_Action 3102a65fd5f36d0000297576acc56a475b0de98d
  • actions/upload-artifact v3
.github/workflows/license-scanning.yml
  • actions/checkout v4
  • actions/setup-node v4
npm
package.json
  • @fullcalendar/core ^6.1.10
  • @fullcalendar/daygrid ^6.1.10
  • @fullcalendar/icalendar ^6.1.10
  • @fullcalendar/interaction ^6.1.10
  • @fullcalendar/react ^6.1.10
  • @fullcalendar/timegrid ^6.1.10
  • @mdi/js ^7.3.67
  • @mdi/react ^1.6.1
  • googleapis ^129.0.0
  • @fullcalendar/rrule ^6.1.10
  • html-react-parser ^5.0.7
  • react ^18.2.0
  • react-dom ^18.2.0
  • @types/react ^18.2.42
  • @types/react-dom ^18.2.17
  • @vitejs/plugin-react ^4.0.3
  • eslint ^8.45.0
  • eslint-plugin-react ^7.32.2
  • eslint-plugin-react-hooks ^4.6.0
  • eslint-plugin-react-refresh ^0.4.3
  • vite ^5.0.5
  • ical-generator ^6.0.0
  • html-to-text ^9.0.5
  • node ^20.10.0
  • npm ^10.2.3

  • Check this box to trigger a request for Renovate to run again on this repository

Mobile / small screen view

Currently, the calendar is not mobile friendly. Since the calendar is also embedded in a larger webpage, it might be best to focus the effort to viewport size instead of device type.

Add dark mode

Add a dark mode (probably based on browser rule based on user settings too) possibility.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.