Coder Social home page Coder Social logo

simple-calendar's Introduction

๐Ÿ“† "Simple" Calendar App

The task was to create a "simple" calendar app using React.

Screenshot of calendar

๐Ÿƒโ€โ™€๏ธ Running locally

  • clone the repo git clone https://github.com/maylynn-ng/simple-calendar.git
  • navigate into the app cd simple-calendar
  • install using yarn yarn install
  • start & get planning! yarn start

๐Ÿ’ช Features Implemented

  • Weekly calendar view

  • Users can navigate across weeks

  • Users can create single day events

  • Users can edit events

  • Events handle overlap

  • Marker indicating the current day and time ๐Ÿ“ (see below for pic!)

  • "Today" button to navigate back to the current day

๐Ÿฅด Hurdles

  • Deciding how to place the events on the page.
    Grid? ๐Ÿ™…โ€โ™€๏ธ
    Flexbox? ๐Ÿ™…โ€โ™€๏ธ
    Plain css with absolute positioning ๐Ÿ’โ€โ™€๏ธ
  • Surprisingly tricky... handling what datatype to format the date in.
    • Datetime inputs like visually appealing strings, doing anything else with calculating times does not ๐Ÿ™ƒ
  • Timeframe. This feels like a big old task for 3 hours! ๐Ÿฅต

๐Ÿค” What I would have liked to do with more time

  • ๐Ÿ”ฌ Testing. 100% testing!! This was number one on my list, though to stick to the timeframe given to me I had to opt for the required features instead ๐Ÿ˜ข
  • Styling. โœจ I'm not going to pretend that this calendar is at all beautiful. I would have loved to spend more time sorting out the scrolling, autoscroll to the 'right now' marker, having a proper colour scheme, having coloured events, generally just not an eyesore. The size of the app however meant I had to make the choice between this and features.
  • DARK MODE!!!! ๐ŸŒš Would have been very cool to implement this! I had even set up a global theme with styled components to make this a nice easy bonus once I had everything done. Though probably to get this right I would have had to have some actual nice styling ๐Ÿ˜ฌ
  • There were a bunch of other smaller features I would have liked to have had time for, eg.
    • click on a time on the grid to create an event then (like in google calendar)
    • delete an event
    • add a colour picker to the events
    • add a little month view to the side
    • have 'all day' events
    • close the modals when you click outside of it

However, something to celebrate is the today marker which, for no good reason, has made me very happy:

Enjoy!

Screenshot of today marker

simple-calendar's People

Contributors

maylynn-ng avatar

Watchers

 avatar

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.