Git Product home page Git Product logo

cli's Introduction

Revel Framework

Build Status License Go Report Card

A high productivity, full-stack web framework for the Go language.

Current Version: 1.1.0 (2022-04-11)

Supports go.mod package management

Quick Start

Install Revel:

go install github.com/revel/cmd/revel@latest

Create & Run your app:

revel new -a my-app -r

Open http://localhost:9000 in your browser and you should see "It works!"

Community

Learn More

Contributing

Contributors

cli's People

Watchers

 avatar  avatar  avatar  avatar

cli's Issues

Goals to solve

Currently the way revel cmd operates is that it is basically a bunch of function calls that dynamically build a couple of go files and launches them. The cmd program continues to run in the background (when in developer mode) to watch for source file changes and if detected it will trigger a rebuild and reload. This is all done with code that is loosely coupled together, and does not support unit testing.

I think the best approach at this point is to start with a fresh project on this that does the same thing but is developed in a way that supports the following

  • Unit Testing
  • A pluggable architecture for new types of revel applications
  • Extend existing applications by adding new controllers and components

Then at some point in the future we will switch from revel/cmd to revel/run

Add ability to generate a skeleton framework that would be a pure restful interface, preferably using RAML (http://raml.org/) - Restful API Modeling Language. or maybe pluggable to use multiple

References
https://github.com/kishorevaishnav/revelgen
https://github.com/xeipuuv/gojsonschema

Aggregate from issues
revel/revel#968
revel/revel#120
revel/cmd#81
revel/cmd#64
revel/revel#845

Enhancements

  • Symlink directory resolver, go through the GOPATH directory structure to try and detect a temp file creation, the temp file will be created initially.
  • Swagger / Raml support. The general support for these have been to generate routes based on the configuration data. Then stub out a controller class with the method call.
  • Unit testing.
  • Configuration file detection changes
  • Source file detection changes
  • Template file detection changes
  • Custom build arguments #10
  • Add relative path support to all revel commands like revel run
  • Docker file generation
    Here is a simple template for a minimal Dockerfile, using a small Debian for a new small container:
FROM debian:stable
COPY ./{{.BinName}} /revel/{{.BinName}}
COPY ./run.sh /revel/run.sh
COPY ./src  /revel/src

CMD ["/bin/sh", "/revel/run.sh"]

EXPOSE 9000

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.