/Emergency-Social-Network

Social network webapp for communications and assistance in emergency situations. CMU course project.

Primary LanguageJavaScript

Emergency-Social-Network

Emergency Social Network (ESN)

About

The goal is to provide civilians with a social network that they can use during emergency situations. The system is different from other existing social networks because it is specifically designed to effectively support small communities of civilians seriously affected in case of natural disasters like earthquake, tsunami, tornado, wildfire, etc.

Technology

UI

  • Figma
    • Professional UI design tool, widely used in the industry
    • Collaborative! (cloud-based design tool)
  • Marvel (Phone App) / Figma Prototyping Tool
    • Prototype design mock-ups on phones (no programming needed!)

Front-end

  • HTML, CSS, JavaScript stack
    • Typical web stack, also required by project specs
  • jQuery
    • Makes it easier to use JavaScript, and contains the following features
      • HTML/DOM & CSS manipulation
      • HTML event methods
      • Effects and animations
      • AJAX
  • Bootstrap
    • Frontend toolkit for building customizable and responsive UI components
  • Socket-io client
    • Support server-to-client event-based communication

Back-end

  • Node.js
    • Required by project specs
  • Express.js
    • Required by project specs
  • MongoDB
    • Performance: querying a collection is very fast
    • Flexibility: easy to change structure (like adding fields)
    • Scalability: can support large database with high request rates with low latency
  • Mongoose
    • An Object Data Modeling (ODM) library for MongoDB and Node.js
    • Manages relationships between data, provides schema validation
    • Used to translate between objects in code and the representation of those objects in MongoDB
  • Passport
    • An authentication middleware for Node.js
    • Works seamlessly with Express-based web applications
  • Socket-io
    • Support server-to-client event-based communication

Usage

  • Clone the git repo
    $ git clone git@github.com:cmusv-fse/f22-ESN-SB5.git
    
  • Go into the project root directory and install dependencies
    • Note: make sure you have a .env file in your root directory. If not, ask your teammate for help.
    $ npm install
    
  • Locally serve the app
    $ npm start
    
  • Open http://localhost:3000 in your browser and you are ready to go!

API Documentation

See Postman

About

The goal is to provide civilians with a social network that they can use during emergency situations. The system is different from other existing social networks because it is specifically designed to effectively support small communities of civilians seriously affected in case of natural disasters like earthquake, tsunami, tornado, wildfire, etc.

Technology

UI

  • Figma
    • Professional UI design tool, widely used in the industry
    • Collaborative! (cloud-based design tool)
  • Marvel (Phone App) / Figma Prototyping Tool
    • Prototype design mock-ups on phones (no programming needed!)

Front-end

  • HTML, CSS, JavaScript stack
    • Typical web stack, also required by project specs
  • jQuery
    • Makes it easier to use JavaScript, and contains the following features
      • HTML/DOM & CSS manipulation
      • HTML event methods
      • Effects and animations
      • AJAX
  • Bootstrap
    • Frontend toolkit for building customizable and responsive UI components
  • Socket-io client
    • Support server-to-client event-based communication

Back-end

  • Node.js
    • Required by project specs
  • Express.js
    • Required by project specs
  • MongoDB
    • Performance: querying a collection is very fast
    • Flexibility: easy to change structure (like adding fields)
    • Scalability: can support large database with high request rates with low latency
  • Mongoose
    • An Object Data Modeling (ODM) library for MongoDB and Node.js
    • Manages relationships between data, provides schema validation
    • Used to translate between objects in code and the representation of those objects in MongoDB
  • Passport
    • An authentication middleware for Node.js
    • Works seamlessly with Express-based web applications
  • Socket-io
    • Support server-to-client event-based communication

Usage

  • Clone the git repo
    $ git clone git@github.com:cmusv-fse/f22-ESN-SB5.git
    
  • Go into the project root directory and install dependencies
    • Note: make sure you have a .env file in your root directory. If not, ask your teammate for help.
    $ npm install
    
  • Locally serve the app
    $ npm start
    
  • Open http://localhost:3000 in your browser and you are ready to go!

API Documentation

See Postman