gryd-project

Simple REST API starter project

Usage no npm install needed!

<script type="module">
  import grydProject from 'https://cdn.skypack.dev/gryd-project';
</script>

README

GrydProject

Simple REST API starter project.

Features

  • A clean directory structure for your next project
  • Supports multiple applications/API versions per project
  • Modular application structure
  • Command Line Interface for project/application/resource generation
  • Full control to modify core functionality to fit your project's needs

Installation

Use the GrydCLI to generate a new project

    //Install the GrydCLI globally
    npm install -g gryd-cli

    //On first use
    gryd-cli install
    
    //In project workspace (Optionally install other Gryd tools)
    gryd-cli init ProjectName --validator --docs

    //CD into project directory. Generate a new application, includes Demo resource
    gryd-cli app AppName
    
    //Generate a resource
    gryd-cli resource AppName ResourceName

Tests (Coming soon)

    //Run all tests for each application
    npm test

Directory Structure

    -app
        -v1 - An application name
            -controllers
            -models
            -services
            -tests
            -index.js - Application setup
        -v2 - Another application
            ...
    -core - Main project runtime, do not change unless needed.
    -templates - Used by GrydCLI, removed before project init.
    -tests - Test runtime, do not change unless needed.
    -.gitignore
    -.gryd - Signals to GrydCLI that this is a GrydProject
    -index.js
    -package.json
    -README.md
    

Change Log

0.1.1

Added ENV variable gryd_basepath to define api base route New basepath default is / instead of /api Fixed model naming to use singular name

0.1.0

Initial development

Contributors

Aaron Blankenship

License

Copyright (c) 2014, Aaron Blankenship

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.