Skip to content

3. Technical

Claire Knowles edited this page Jul 14, 2017 · 1 revision

Overview

The application follow simple MVC pattern to develop the application. The application also follow StandardJs coding style. The view templates use PugJS as its language.

Project Structure

Here we will define the folders and the contents.

  • root folder

    The root folder contains the following files:

    • .gitignore

      The files declared inside this file will be ignored in git session.

    • helpers.js

      This file contains some helper functions to ease development process.

    • LICENSE

      The License of this project.

    • package.json and package-lock.json

      The dependency and npm scripts that will run with the application

    • README.md

      The basic quickstart guidelines of running the application

    • server.js

      The main file that will run the application

    • variables.env.examples or variables.env

      This file contain the variables needed by the application to run in and connect with other services. To run the application properly there MUST be a variables.env file. The variables.env.example is used as starting point that you can use to define the variables.env

  • config

    This folder contains the configuration files needed to use the PassportJS library. This configuration allow the application to use authentication for the user.

  • controller

    This folder contains the application logics that bridge the view and models.

  • examples

    This folder contains script and sample data (in json) that can be used to populate initial application. The script load-sample-data.js will interface to the database directly.

  • handlers

    This folder contains handler middlewares that allow the application to handle errors and show it to developer

  • models

    This folder contains the Object Relational Mapping of the application to the database. This application use Mongoose library to interface with the database. Dependencies with Polyanno, Dragon Drop etc

  • node_modules (after installation)

    This folder will show up after you run the npm install command. This folder will contain the dependencies that the project needed to run properly.

  • public

    This folder contains the static files needed to run the application. The frontend libraries and styles are in this folder. The polyanno library is downloaded inside the javascript folder.

  • routes

    This folder contains the basic routing of the applications.

  • views

    This folder contains the view templates that drive the front end of the application. The templates use PugJS as the language.

Clone this wiki locally