funfordima / react-calendar

Meeting planning calendar for a meeting room in your office.

Home Page:https://react-calendar-funfordima.netlify.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Calendar

This application is a simple meeting planning calendar for a meeting room in your office:

  • Display meetings planned;
  • Filter meetings for a particular team member;
  • Add new meetings;
  • Delete meetings;

Technologies stack:

  • React
  • SCSS
  • JS
  • Redux

Project setup

  1. Install Node.js
  2. Fork this repository: ciklum-calendar
  3. Clone your newly created repo: https://github.com/<%your_github_username%>/ciklum-calendar/
  4. Go to folder ciklum-calendar
  5. To install all dependencies use npm install
  6. To start app use npm run build (production mode) or npm run start (development mode)

Tech stack

  • pure JavaScript (ES6, ES next) with Babel transpiler (if needed) without frameworks;
  • any CSS pre/post processor (ex. Sass / Scss / Post-CSS etc.);
  • any module bundler (ex. Webpack / Rollup etc.);
  • any other technologies that you’d like;

Prerequisites

  • You are building a meeting scheduler application for one meeting room.
  • Your application should have two screens: “Calendar” screen and “Create event” screen; “Calendar” screen consists of a pre-defined table with 5 days (Mon-Fri) for columns and 9 time slots (10:00-18:00, one hour long each) for rows;
  • There is a team of several people that can take part in the meetings (you can hardcode the list of team member in your code).
  • One meeting can take only 1 hour and obtain one cell in the “Calendar” screen;

Basic feature requirements

  • On a “Calendar” screen user should be able to see all meetings scheduled for the meeting room;
  • User should be able to filter meetings by person;
  • In order to create new meeting user should click “New Event+” button at “Calendar” screen, after that he should be transferred to “Create event” screen. At that screen
  • user should enter meeting title, select participants (can be multiple), select day (Mon-Fri), select time (10:00-18:00);
  • The meeting can be successfully created if and only if the time slot for that day and time is free. Otherwise the error bar should be shown.
  • After successful creation of an event, the user should be transferred back to the “Calendar” screen where new event should already be displayed.
  • In order to delete a meeting user has to click the delete icon near the meeting title at “Calendar” screen and then confirm his action in a confirmation dialog.
  • the minimum page width at which the app is checked for correct display and operation is 500px.

Task 1

  • Each team member should belong either to User class or Admin class.
  • When user opens an application he/she has to authorize himself using the select modal (like in the example mockup).
  • If authorized user is Admin he is able to create and update events(if Drag and Drop was implemented in your test task).
  • If authorized user is User he/she is not able to create/update events. This means that 'Create Event' button should be hidden for those users.

Hacker scope

  • Implement possibility to change meeting day/time using drag and drop technique on “Calendar” view.
  • the data is saved in database (ex: firebase)

About

Meeting planning calendar for a meeting room in your office.

https://react-calendar-funfordima.netlify.app/