diff --git a/.gitignore b/.gitignore index 616b799..6731b28 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ -static node_modules -tmp +build config.yml diff --git a/Makefile b/Makefile index bb47dc7..4a288d2 100644 --- a/Makefile +++ b/Makefile @@ -6,8 +6,8 @@ DB_DSN_DEV=postgres://$(DB_USER):$(DB_PASS)@127.0.0.1:5432/dev?sslmode=disable DB_DSN_TEST=postgres://$(DB_USER):$(DB_PASS)@127.0.0.1:5432/test?sslmode=disable MIGRATION=migrate -url '$(DB_DSN_DEV)' -MIGRATION_SCHEMA=./sql -MIGRATION_TEST_DATA=./sqltest +MIGRATION_SCHEMA=./sql/migration +MIGRATION_TEST_DATA=./sql/dev DOCKER_COMPOSE_FILE=./docker/docker-compose.yml DOCKER_COMPOSE=docker-compose -f $(DOCKER_COMPOSE_FILE) diff --git a/fontify.json b/fontify.json index 86b8b30..24e7778 100644 --- a/fontify.json +++ b/fontify.json @@ -2,5 +2,5 @@ "modules": [ "bootstrap" ], - "dest": "static" + "dest": "build/public" } diff --git a/fresh.conf b/fresh.conf index 6efe03e..ac8617c 100644 --- a/fresh.conf +++ b/fresh.conf @@ -1,3 +1,5 @@ -ignored: node_modules,src,static +ignored: node_modules,src/public build_name: dev-build build_log: dev-build.log +tmp_path: ./build +root: ./src diff --git a/package.json b/package.json index 8e649c1..61f222c 100644 --- a/package.json +++ b/package.json @@ -4,11 +4,11 @@ "description": "``` make dev ```", "main": "index.js", "scripts": { - "build-js": "mkdir -p ./static/js & node node_modules/.bin/browserify src/js/app.js -o static/js/app.js", - "build-less": "mkdir -p ./static/css & node ./node_modules/.bin/lessc --include-path=./node_modules src/less/app.less static/css/app.css", - "build-font": "mkdir ./static & node ./node_modules/.bin/fontify", - "watch-js": "node ./node_modules/.bin/nodemon -e js -w src/js/app.js -x 'npm run build-js'", - "watch-less": "node ./node_modules/.bin/nodemon -e less -w src/less/app.less -x 'npm run build-less'", + "build-js": "mkdir -p ./build/public/js & node node_modules/.bin/browserify src/public/js/app.js -o build/public/js/app.js", + "build-less": "mkdir -p ./build/public/css & node ./node_modules/.bin/lessc --include-path=./node_modules src/public/less/app.less build/public/css/app.css", + "build-font": "mkdir -p ./build & node ./node_modules/.bin/fontify", + "watch-js": "node ./node_modules/.bin/nodemon -e js -w src/public/js/app.js -x 'npm run build-js'", + "watch-less": "node ./node_modules/.bin/nodemon -e less -w src/public/less/app.less -x 'npm run build-less'", "build": "npm run build-js & npm run build-less & npm run build-font", "watch": "npm run watch-js & npm run watch-less" }, diff --git a/sqltest/101_data.down.sql b/sql/dev/101_data.down.sql similarity index 100% rename from sqltest/101_data.down.sql rename to sql/dev/101_data.down.sql diff --git a/sqltest/101_data.up.sql b/sql/dev/101_data.up.sql similarity index 100% rename from sqltest/101_data.up.sql rename to sql/dev/101_data.up.sql diff --git a/sql/0001_initial.down.sql b/sql/migration/0001_initial.down.sql similarity index 100% rename from sql/0001_initial.down.sql rename to sql/migration/0001_initial.down.sql diff --git a/sql/0001_initial.up.sql b/sql/migration/0001_initial.up.sql similarity index 100% rename from sql/0001_initial.up.sql rename to sql/migration/0001_initial.up.sql diff --git a/auth/auth.go b/src/internal/auth/auth.go similarity index 100% rename from auth/auth.go rename to src/internal/auth/auth.go diff --git a/auth/auth_test.go b/src/internal/auth/auth_test.go similarity index 100% rename from auth/auth_test.go rename to src/internal/auth/auth_test.go diff --git a/auth/middleware.go b/src/internal/auth/middleware.go similarity index 100% rename from auth/middleware.go rename to src/internal/auth/middleware.go diff --git a/config/canape.go b/src/internal/config/canape.go similarity index 100% rename from config/canape.go rename to src/internal/config/canape.go diff --git a/config/polochon.go b/src/internal/config/polochon.go similarity index 100% rename from config/polochon.go rename to src/internal/config/polochon.go diff --git a/movies/explorer.go b/src/internal/movies/explorer.go similarity index 59% rename from movies/explorer.go rename to src/internal/movies/explorer.go index 208e590..6c38820 100644 --- a/movies/explorer.go +++ b/src/internal/movies/explorer.go @@ -1,6 +1,6 @@ package movies -import "gitlab.quimbo.fr/odwrtw/canape-sql/web" +import "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/web" func updatePopular(env *web.Env, clientID string) error { return nil diff --git a/movies/handlers.go b/src/internal/movies/handlers.go similarity index 92% rename from movies/handlers.go rename to src/internal/movies/handlers.go index f5afafe..f833911 100644 --- a/movies/handlers.go +++ b/src/internal/movies/handlers.go @@ -12,10 +12,10 @@ import ( traktdetailer "github.com/odwrtw/polochon/modules/trakttv" "github.com/odwrtw/trakttv" - "gitlab.quimbo.fr/odwrtw/canape-sql/auth" - "gitlab.quimbo.fr/odwrtw/canape-sql/config" - "gitlab.quimbo.fr/odwrtw/canape-sql/users" - "gitlab.quimbo.fr/odwrtw/canape-sql/web" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/auth" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/config" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/users" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/web" ) var ErrPolochonUnavailable = fmt.Errorf("Invalid polochon address") diff --git a/movies/movies.go b/src/internal/movies/movies.go similarity index 93% rename from movies/movies.go rename to src/internal/movies/movies.go index 7fa5178..eb68335 100644 --- a/movies/movies.go +++ b/src/internal/movies/movies.go @@ -7,8 +7,8 @@ import ( "github.com/Sirupsen/logrus" "github.com/jmoiron/sqlx" "github.com/odwrtw/polochon/lib" - "gitlab.quimbo.fr/odwrtw/canape-sql/sqly" - "gitlab.quimbo.fr/odwrtw/canape-sql/web" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/sqly" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/web" ) const ( @@ -101,7 +101,7 @@ func (m *Movie) GetDetails(db *sqlx.DB, log *logrus.Entry) error { } // Download poster - err = web.Download(m.Thumb, filepath.Join("./static/img/movies", m.ImdbID+".jpg")) + err = web.Download(m.Thumb, filepath.Join("./build/public/img/movies", m.ImdbID+".jpg")) if err != nil { return err } diff --git a/movies/movies_test.go b/src/internal/movies/movies_test.go similarity index 100% rename from movies/movies_test.go rename to src/internal/movies/movies_test.go diff --git a/random/random.go b/src/internal/random/random.go similarity index 100% rename from random/random.go rename to src/internal/random/random.go diff --git a/shows/shows.go b/src/internal/shows/shows.go similarity index 98% rename from shows/shows.go rename to src/internal/shows/shows.go index ff10adb..7ca0dce 100644 --- a/shows/shows.go +++ b/src/internal/shows/shows.go @@ -3,8 +3,8 @@ package shows import ( "fmt" - "gitlab.quimbo.fr/odwrtw/canape-sql/sqly" - "gitlab.quimbo.fr/odwrtw/canape-sql/users" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/sqly" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/users" "github.com/Sirupsen/logrus" "github.com/jmoiron/sqlx" diff --git a/shows/shows_test.go b/src/internal/shows/shows_test.go similarity index 100% rename from shows/shows_test.go rename to src/internal/shows/shows_test.go diff --git a/sqly/sqly.go b/src/internal/sqly/sqly.go similarity index 100% rename from sqly/sqly.go rename to src/internal/sqly/sqly.go diff --git a/users/handlers.go b/src/internal/users/handlers.go similarity index 95% rename from users/handlers.go rename to src/internal/users/handlers.go index 5b1b6cd..598b748 100644 --- a/users/handlers.go +++ b/src/internal/users/handlers.go @@ -7,9 +7,9 @@ import ( "github.com/gorilla/Schema" "github.com/kr/pretty" - "gitlab.quimbo.fr/odwrtw/canape-sql/auth" - "gitlab.quimbo.fr/odwrtw/canape-sql/config" - "gitlab.quimbo.fr/odwrtw/canape-sql/web" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/auth" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/config" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/web" ) func LoginGETHandler(e *web.Env, w http.ResponseWriter, r *http.Request) error { diff --git a/users/users.go b/src/internal/users/users.go similarity index 97% rename from users/users.go rename to src/internal/users/users.go index 3069c4f..fa95664 100644 --- a/users/users.go +++ b/src/internal/users/users.go @@ -6,8 +6,8 @@ import ( "github.com/jmoiron/sqlx" "github.com/jmoiron/sqlx/types" - "gitlab.quimbo.fr/odwrtw/canape-sql/random" - "gitlab.quimbo.fr/odwrtw/canape-sql/sqly" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/random" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/sqly" ) const ( diff --git a/users/users_test.go b/src/internal/users/users_test.go similarity index 100% rename from users/users_test.go rename to src/internal/users/users_test.go diff --git a/web/data.go b/src/internal/web/data.go similarity index 100% rename from web/data.go rename to src/internal/web/data.go diff --git a/web/download.go b/src/internal/web/download.go similarity index 100% rename from web/download.go rename to src/internal/web/download.go diff --git a/web/env.go b/src/internal/web/env.go similarity index 96% rename from web/env.go rename to src/internal/web/env.go index 8b98c2a..c238bbf 100644 --- a/web/env.go +++ b/src/internal/web/env.go @@ -3,8 +3,8 @@ package web import ( "fmt" - "gitlab.quimbo.fr/odwrtw/canape-sql/auth" - "gitlab.quimbo.fr/odwrtw/canape-sql/config" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/auth" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/config" "github.com/Sirupsen/logrus" "github.com/codegangsta/negroni" diff --git a/web/handler.go b/src/internal/web/handler.go similarity index 100% rename from web/handler.go rename to src/internal/web/handler.go diff --git a/web/templates.go b/src/internal/web/templates.go similarity index 100% rename from web/templates.go rename to src/internal/web/templates.go diff --git a/main.go b/src/main.go similarity index 83% rename from main.go rename to src/main.go index 856aeda..f89e6f3 100644 --- a/main.go +++ b/src/main.go @@ -3,11 +3,11 @@ package main import ( "net/http" - "gitlab.quimbo.fr/odwrtw/canape-sql/auth" - "gitlab.quimbo.fr/odwrtw/canape-sql/config" - "gitlab.quimbo.fr/odwrtw/canape-sql/movies" - "gitlab.quimbo.fr/odwrtw/canape-sql/users" - "gitlab.quimbo.fr/odwrtw/canape-sql/web" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/auth" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/config" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/movies" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/users" + "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/web" "github.com/Sirupsen/logrus" "github.com/codegangsta/negroni" @@ -51,7 +51,7 @@ func main() { Auth: authorizer, Log: log, Config: cf, - TemplatesDir: "./templates", + TemplatesDir: "./src/templates", }) authMiddleware := auth.NewMiddleware(env.Auth) @@ -72,7 +72,7 @@ func main() { n := negroni.Classic() n.Use(authMiddleware) - n.Use(negroni.NewStatic(http.Dir("./static"))) + n.Use(negroni.NewStatic(http.Dir("./build/public"))) n.UseHandler(env.Router) n.Run(":" + cf.Port) } diff --git a/src/js/app.js b/src/public/js/app.js similarity index 100% rename from src/js/app.js rename to src/public/js/app.js diff --git a/src/less/app.less b/src/public/less/app.less similarity index 100% rename from src/less/app.less rename to src/public/less/app.less diff --git a/templates/layout.tmpl b/src/templates/layout.tmpl similarity index 100% rename from templates/layout.tmpl rename to src/templates/layout.tmpl diff --git a/templates/movies/library.tmpl b/src/templates/movies/library.tmpl similarity index 100% rename from templates/movies/library.tmpl rename to src/templates/movies/library.tmpl diff --git a/templates/navbar.tmpl b/src/templates/navbar.tmpl similarity index 100% rename from templates/navbar.tmpl rename to src/templates/navbar.tmpl diff --git a/templates/users/details.tmpl b/src/templates/users/details.tmpl similarity index 100% rename from templates/users/details.tmpl rename to src/templates/users/details.tmpl diff --git a/templates/users/edit.tmpl b/src/templates/users/edit.tmpl similarity index 100% rename from templates/users/edit.tmpl rename to src/templates/users/edit.tmpl diff --git a/templates/users/login.tmpl b/src/templates/users/login.tmpl similarity index 100% rename from templates/users/login.tmpl rename to src/templates/users/login.tmpl