Skip to content

Latest commit

Β 

History

History
101 lines (93 loc) Β· 4.58 KB

File metadata and controls

101 lines (93 loc) Β· 4.58 KB

hackerAPI

API for registration, live-site

  • Master: Build Status
  • Develop: Build Status

Getting started

Check out this page.

Helpful links

Folder structure

HackerAPI
β”œβ”€β”€ Dockerfile:                     controls running of docker image
β”œβ”€β”€ README.md:                      root of all information
β”œβ”€β”€ VERSION:                        version number of the application
β”œβ”€β”€ app.js:                         express app object
β”œβ”€β”€ bin
β”‚Β Β  └── www:                        entry point to the application
β”œβ”€β”€ build.sh:                       builds a docker image
β”œβ”€β”€ docs:                           For all of your documentation needs
β”‚Β Β  β”œβ”€β”€ deploy.md                   Deployment docs
β”‚Β Β  β”œβ”€β”€ standards.md                Coding standards docs
β”‚Β Β  └── api
β”‚       └── index.html              api documentation
β”œβ”€β”€ controllers
β”‚   β”œβ”€β”€ account.controller.js       Controller for account related responses
β”‚   β”œβ”€β”€ auth.controller.js          Controller for authentication related responses
β”‚   └── hacker.controller.js        Controller for hacker related responses
β”œβ”€β”€ middlewares
β”‚   β”œβ”€β”€ account.middleware.js       Middleware for account
β”‚   β”œβ”€β”€ auth.middleware.js          Middleware for authentication
β”‚   β”œβ”€β”€ parse-body.middleware.js    Middleware for parsing information sent in during request
β”‚   β”œβ”€β”€ util.middleware.js          Common middleware used in many routes
β”‚   └── validators                  Validation of passed in data
β”‚       β”œβ”€β”€ account.validator.js
β”‚       β”œβ”€β”€ auth.validator.js
β”‚       β”œβ”€β”€ hacker.validator.js
β”‚       β”œβ”€β”€ team.validator.js
β”‚       └── validator.helper.js
β”œβ”€β”€ models                          All of the schema and model information reside here
β”‚Β Β  β”œβ”€β”€ account.model.js            Schema for generic user account
β”‚Β Β  β”œβ”€β”€ bus.model.js                Schema for a bus route.
β”‚Β Β  β”œβ”€β”€ hacker.model.js             Schema for a hacker account.
β”‚   β”œβ”€β”€ passwordResetToken.model.js
β”‚   β”œβ”€β”€ role.model.js
β”‚   β”œβ”€β”€ roleBinding.model.js
β”‚Β Β  β”œβ”€β”€ sponsor.model.js            Schema for sponsor account.
β”‚Β Β  β”œβ”€β”€ admin.model.js              Schema for admin members (not volunteers)
β”‚Β Β  β”œβ”€β”€ team.model.js               Schema for a hacker team.
β”‚Β Β  └── volunteer.model.js          Schema for volunteers on the day-of
β”œβ”€β”€ package-lock.json
β”œβ”€β”€ package.json                    Stores npm script commands, dependencies
β”œβ”€β”€ populatedb.js
β”œβ”€β”€ release.sh                      Creates and deploys container image.
β”œβ”€β”€ routes
β”‚   β”œβ”€β”€ api
β”‚   β”‚   β”œβ”€β”€ account.js              Handles account related routes
β”‚   β”‚   β”œβ”€β”€ auth.js                 Handles all login, logout, password routes
β”‚   β”‚   β”œβ”€β”€ hacker.js               Handles hacker related routes
β”‚   β”‚   └── team.js                 Handles team related routes
β”‚Β Β  └── index.js                    Root route
β”œβ”€β”€ services                        Stores all services, such as logging, and versioning, and db access
β”‚   β”œβ”€β”€ account.service.js
|   β”œβ”€β”€ accountConfirmation.service.js
β”‚   β”œβ”€β”€ auth.service.js
β”‚   β”œβ”€β”€ database.service.js
β”‚   β”œβ”€β”€ email.service.js
β”‚   β”œβ”€β”€ env.service.js
β”‚   β”œβ”€β”€ hacker.service.js
β”‚   β”œβ”€β”€ logger.service.js
β”‚   β”œβ”€β”€ resetPassword.service.js
β”‚   β”œβ”€β”€ role.service.js
β”‚   β”œβ”€β”€ roleBinding.service.js
β”‚   β”œβ”€β”€ search.js
β”‚   β”œβ”€β”€ sponsor.service.js
β”‚   β”œβ”€β”€ storage.service.js
β”‚   β”œβ”€β”€ team.service.js
β”‚   β”œβ”€β”€ version.service.js
β”‚   └── volunteer.service.js
└── tests
    β”œβ”€β”€ setup.spec.js
    └── util
        β”œβ”€β”€ account.test.util.js
        β”œβ”€β”€ bus.test.util.js
        β”œβ”€β”€ hacker.test.util.js
        β”œβ”€β”€ sponsor.test.util.js
        β”œβ”€β”€ admin.test.util.js
        β”œβ”€β”€ team.test.util.js
        └── volunteer.test.util.js