Calendula is a calendar project inspired by Google Calendar. It is built using React and Tailwind and features a highly responsive and intuitive interface.
The Calendula project is designed for convenient task and event planning. It combines a minimalist design with robust functionality, allowing users to easily manage their time while also supporting customizable color themes.
-
🧑🏼💻 Andrew Laskevych
-
👩🏼💻 Inessa Repeshko
-
🧑🏻💻 Vadym Zharyi
Calendula is an enterprise platform that transforms time management with flexible calendars, interactive events, and team sync.
Organise your day, share ideas, and streamline your workflow with easy search, notifications, and a personalised design.
Here is a link to the presentation file.
- User
- Registration and email confirmation
- Authorisation
- Password recovery via email
- Has its own default Main user calendar
- Has the 'National holidays' calendar for the user's country
- Calendars
- Contains title, description, color, participants
- Invite calendar participants via email
- Create calendars via a pop-up window
- Calendars can be hidden to filter events
- Users can change the colour of any calendar for themselves
- Roles of Participants in Calendars
- Owner can perform all CRUD operations (unlike the main calendar) with the invitation of other registerd users
- Member can view the calendar and its events; CRUD operations on own events in this calendar with the invitation of other registerd users
- Viewer can view the calendar and its events
- All calendars are clickable and contain information for preview
- Contains title, description, color, participants
- Events
- Contains title, start date and time, end date and time, associated calendar, type ('meeting', 'reminder', 'task'), description, color, participants
- Invite event participants via email
- Create events by clicking on the blank space on the calendar itself via a pop-up window, as well as by clicking a 'Create' button and redirecting to a separate page
- Edit events by clicking; delete via a special button
- By default, colour events based on the colour of the associated calendar
- Users can change the colour of any event for themselves
- All events are clickable and contain information for preview
- Display all events in accordance with their duration
- User
- View user's personal data
- Calendars
- Grouping calendars into team and system calendars
- Calendar 'Birthdays' of company employees
- Unsubscribing from the calendar via the ‘Unsubscribe’ button
- Calendar owner's mark
- Search for users to participate by full name or email
- Searchable drop-down list of users to participate in
- Events
- Preview of the event type in the title
- Displaying the attendance status of participants
- Drag and drop to change the date or time of event
- Resize to change the event duration
- Event owner's mark
- Search for users to participate by full name or email
- Searchable drop-down list of users to participate in
- 'All day' event duration
- Default duration for events is 1 hour
- Categories: 'work', 'home', 'hobby'
- Notifications before: '10 min', '30 min', '1 h', '1 d'
- Attendance statuses: 'yes', 'no', 'maybe'
- Changing the event design depending on the user's attendance status
- Home page
- Jump to today via the 'Today' button
- Search for events by title and description
- Different representation of the calendar: month, weeek, day
- Monthly calendar in the sidebar
- Synchronise between the monthly calendar in the sidebar and main event view
- Show the current day and time on the calendar
-
Run the calendula-backend project.
-
Go to the project folder.
-
Install the dependencies:
npm install
- Running:
npm run dev