Skip to content

This is a simple calendar app using nodejs,angular,bootstrap,socket

Notifications You must be signed in to change notification settings

amitbd1508/Realtime-calendar

Repository files navigation

Event Calendar

This is a simple calendar app using nodejs backend, angular frontend and mongodb database. Also implemented soket.io for real-time change.

Features

  • Different calendar view (Day, Week ,Month, Year)
  • Add, Delete , Edit event
  • Events display in events day
  • Real-time update in every client

Background

I started this project without any knowledge of Node , Angular , Mongo. So i research about this and start following a tutorial in YouTube. I implemented all the things and try to understand basic of node , mongoose, angular, mongodb. When i start implementing i face many problem like:

  • href not working from angular (solve putting a extra ! - #/event/add to #!/event/add )
  • Socket connect multiple time (solved by adding {transports: ['websocket'], upgrade: false}
  • Http call from client not working as video ( solved by a new method )
  • Have huge confusion between ES6 and ES5 . I see the syntax of es6 but cannot implemented it
  • and so on

Requirement

  • Single-page web application using AngularJS (frontend layer)
  • REST API NodeJS application using Express for adding, editing, or removing an event (backend layer)
  • Main view shall consist of a calendar of a month, with “next” and “previous” buttons to go to another month
  • A "+" button inside every inside the date box for adding an event (partially completed)
  • Real-time update to all opened browser using socket io
  • Keep track of when an event was created and updated

Thought Process

Thought Process

Used Technology

  1. Mongo Database
  2. Mongoose ODM
  3. Express Application Framework
  4. AngularJS Framework
  5. Bootstrap CSS Framework
  6. Socket IO

Prerequisites

First you need to install Node.js ,Mongo DB in your machine

  • Install Node.js

  • Install and Run Mongo DB from your installation directory

mongod

Installing

  • Clone the repository
git clone https://github.com/amitbd1508/Realtime-calendar.git
  • Then Change your directory using
cd Realtime-calendar/
  • Run
npm install
cd client
bower install
cd ..
node app.js

App running on http://localhost:8000/

Running the tests

I don not write any test code . In future i will add the test code

Built With

Contributing

You are welcome to contribute

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under ISC License

Copyright (c) [2018], [Amit Ghosh]

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Acknowledgments