Giter Site home page Giter Site logo

platform's Introduction

Nava Platform

Welcome to the Nava Platform! This is the home repository for Nava's Platform tools that empower teams to accelerate their delivery through self-service tools and training.

Platform Templates

Platform templates allow project teams to quickly spin up new production ready applications. Engineers can copy the templates to their own project's GitHub repository in order to get started more quickly. The templates provide many default technical decisions that represent best practices for implementing government systems. These best practices were evolved by Nava over many years of experience working on GovTech projects, and will continue to evolve.

We currently have the following templates:

  • Infrastructure template – this provides AWS infrastructure as well as some general non-infrastructure project tools like PR templates and ADR (architecture decision record) templates.
    • You can use the infrastructure template with either of the application templates, or with any other application that satisfies the infra template’s application requirements. You can also use the infrastructure template with multiple applications at a time, but it will require a few steps to accomplish that configuration.
  • Ruby on Rails application template - Template for web applications built with the Ruby on Rails framework.
    • This template can be used to build traditional server-based web applications. It is designed to accommodate both user-facing applications, APIs, and data engineering workloads.
  • TypeScript Next.js application template - Template for user-facing web applications built with the Next.js React framework.
    • This template can be used to build traditional server-based web applications. It can also be used to build APIs. However, if your project has a significant data engineering (e.g. ETL jobs and other batch processing jobs) component, a Python-based tech stack is recommended (see the Python Flask template).
    • This template can also be used to build static sites, but is currently not configured that way out of the box.
  • Python Flask application template - Template for APIs and offline processes built with Python Flask.
    • This template can be used to build APIs. It can also be used to build simple user-facing applications. However, if your application is heavily on the frontend, you may want to consider using the Next.js template since that comes already configured with internationalization, the US Web Design System, and Storybook.

Getting started

To get started using the templates, first create a git repo for your project.

  1. If you are starting from scratch and need infrastructure, then start with the infra template and follow the instructions on the template's README to install the template in a single command line.
  2. Choose which application template you want to use based on whether you are building a primarily user-facing application (use the Next.js template) or primarily backend system (use the Flask template), and follow the instructions on the respective template's README to install the template.

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.