Responsive Weather APP with Dark Mode
using NodeJS and TailwindCSS.
-
A server-side focused project using WebSockets protocol with the help of socket.io library which allows users to chat online over my chat-app website.
- Socket.IO is a library used for real-time web applications. It provides me with an API for WebSockets. Socket.IO enables bi-directional communication between the client-side and server-side, which I used in my chat-app to allow a real-time chat exchanges.
- "Bad-words" library used to block a list of words and phrases commonly considered offensive or profane.
- Client-side (frontend) is built using the DOM with the Mustache library for rendering HTML templates, Moment.js library for working with dates and times, QS library to parse the query string in the current URL link into an object.
- Mustache templating library allows me to define templates that contain placeholders for data. Those placeholders are then filled in with actual data to produce the final output.
- In my code, Mustache is used to render HTML templates for displaying messages and other content.
- Moment.js JavaScript library makes working with dates and times much easier as it provides a simple and consistent API for parsing, validating, manipulating, and formatting dates and times.
- In my code, Moment.js is used to format dates and times in a specific format, which is then displayed in the HTML templates.
- QS library is used to parse the query string of the query portion in the current URL link into an object with key/value-pairs that corresponds to the parameters.
- In my code, I'm grabbing the
username
androom
properties from the returned object (which consists key/value-pairs of the current URL's query portion). - The second argument, which is optional, is an object with a property
ignoreQueryPrefix: true
indicates that the leading "?" (question mark) should be ignored when parsing the query string into an object.
- In my code, I'm grabbing the
- Mustache templating library allows me to define templates that contain placeholders for data. Those placeholders are then filled in with actual data to produce the final output.
- Clone this repository.
- Navigate (cd) into your project directory.
- Run
npm install
in your command line to install depndencies (or shorter commandnpm i
). - Run
npm start
in your command line. - Visit http://localhost:3000 in your browser!
- Node.js
- Express.js
- Socket.io library for the WebSockets protocol