Technologies

The Backend process of FlatAndFlatmates Backend are built using the core components of Node, Express and MongoDB. FlatAndFlatmates Backend has also been constantly incorporating various other latest technologies.

MongoDB

MongoDB is a document-oriented database designed with both scalability and developer agility in mind. MongoDB's ability to store JavaScript objects natively saves time and processing power. Rather than storing your data in tables and rows as you would with a relational database, in MongoDB you store JSON-like documents with dynamic schemas. Instead of a domain-specific language like SQL, MongoDB utilizes a simple JavaScript interface for querying. Looking up a document is as simple as passing a JavaScript object that partially describes the search target.

Node JS

Node JS is a packaged compilation of Google’s V8 JavaScript engine, the libuv platform abstraction layer, and a core library, which is itself primarily written in JavaScript. Node JS shines in real-time web applications employing push technology over web sockets. The main principle of Node JS: use non-blocking, event-driven I/O to remain lightweight and efficient in the face of data-intensive real-time applications that run across distributed devices. It replaces the traditional request-response paradigm with a fast, two-way communication model. It is asynchronous without the use of threads, it is not memory-intensive. Node JS web sockets run on TCP, not HTTP, so low-overhead client-server communication is enabled in both directionS .

Ideally, if you are writing a mobile app, you want to cover all the bases – iOS, Android, and Windows – in order to obtain maximum market share or to grant your mobile workforce flexibility in device choice. A straightforward way to accomplish that is to write all the app’s logic in Node JS and place it on the backend. The user interface then runs on the mobile device under another language.

Express JS

Express JS is server-side and mobile application framework, written in JavaScript. It builds single-page, multi-page, and hybrid mobile and web apps; Common back-end functions for web applications; APIs.

Express JS is a prebuilt Node JS framework that can help you in creating server-side web applications faster and smarter. Simplicity, minimalism, flexibility, scalability are some of its characteristics and since it is made in Node JS itself, it inherited its performance as well.

In short, Express JS did for Node JS what Bootstrap did for HTML/CSS and responsive web design. It made coding in Node JS a piece of cake and gave programmers some additional features to extend their server-side coding. Express JS is hands down the most famous Node JS framework - so much so that when most people talk about Node JS they surely mean Node JS + Express JS.

Cloudinary

Cloudinary offers an incredibly feature-rich image and video platform for developers. Used by small teams to Fortune 500 companies, Cloudinary scales to any requirement with zero compromise on quality of service.

Securely upload & store as many images and videos as needed, at any scale, from any source. Use a powerful API for fast upload directly from users’ browsers or mobile apps. Rest easy with auto-backups, historical revisions, and flexible storage options.

Perform server-side uploads to Cloudinary with an upload API or via client libraries (SDKs) that simplify integration into your web and mobile apps.

Socket.io

Writing a chat application with popular web applications stacks like LAMP (PHP) has traditionally been very hard. It involves polling the server for changes, keeping track of timestamps, and it’s a lot slower than it should be.

Sockets have traditionally been the solution around which most real-time chat systems are architected, providing a bi-directional communication channel between a client and a server.

This means that the server can push messages to clients. Whenever you write a chat message, the idea is that the server will get it and push it to all other connected clients.

Passport JS

This module lets you authenticate endpoints using a JSON web token and passport-jwt. A passport middleware is added to all the routes and socket which will check for authorized token. We can also change the strategy of the passport in the passport-config.jsfile.

One Signal

OneSignal is a high volume and reliable push notification service for websites and mobile applications. We support all major native and mobile platforms by providing dedicated SDKs for each platform, a RESTful server API, and an online dashboard for marketers to design and send push notifications.