Git Product home page Git Product logo

meanstackspa's Introduction

How it works

The single page application is written in Typescript with Angular 2. The server- side component is written in javascript with Nodejs, MongoDB through Mongoose object data modeling, Express for the web-server.

The server and client communicate almost exclusively via socket.io channels to provide performant real-time behaviour.

Accounts are authenticated using Twitter, via the passport middleware in express, while the sessions are shared with socket.io clients.

Features

  • CRUD tasks
    • Create new tasks by typing in the text box
    • Read new tasks by loading the page
    • Update tasks by click on an existing task, and typing in the text box, then press enter or click the 'edit' button.
    • Delete tasks by click on the 'x' to the right of any task
  • Utilizes socket.io for live updates, potential for collaborative lists
    • why REST when you can Stream?
  • MEAN stack
    • MongoDB (via Mongoose)
    • Express
    • Angularjs
    • Nodejs
  • Angular 2 based single-page-application (SPA)
  • Utilizes gulp streaming build system
    • makes use of angular's cli to build the SPA and copy it to the static public directory
  • socket.io and express sessions are shared by using the same session middleware
    • supprisingly poorly documented feature!
  • bare minimum security**
    • JSON Web Tokens would be nice
  • complete lack of code-coverage via unit tests

Setup

Prerequisites:

# there are many ways to install Nodejs
# this is just one (preferred) method:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
nvm install v6.10.1
npm install -g @angular/cli
npm install -g gulp-cli

Twitter Credentials

Login requires that you fill in the twitter credentials for your own twitter application. Setup is easy and is described in greater detail here

copy private/keys.sample to private/keys.json
paste in your own keys in the appropriate places.

Building from source

npm install
gulp build
gulp serve

meanstackspa's People

Contributors

0x736e 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.