From 2e3760968080b8ab95a15e8ac43a855ca985ea5a Mon Sep 17 00:00:00 2001 From: ManjaroOne666 Date: Mon, 25 Feb 2019 14:26:11 +0000 Subject: [PATCH] add backend --- server/.gitignore | 4 ++ server/Dockerfile | 3 ++ server/README.md | 18 +++++++ server/docker-compose.yml | 35 +++++++++++++ server/package.json | 3 ++ server/storage/database.sqlite | Bin 0 -> 720896 bytes .../themes/marc-leopold-api/pages/about.htm | 12 +++++ .../themes/marc-leopold-api/pages/albums.htm | 46 ++++++++++++++++++ .../marc-leopold-api/pages/api-home.htm | 46 ++++++++++++++++++ .../marc-leopold-api/pages/navigation.htm | 22 +++++++++ server/themes/marc-leopold-api/pages/page.htm | 24 +++++++++ .../marc-leopold-api/pages/services.htm | 36 ++++++++++++++ server/themes/marc-leopold-api/theme.yaml | 5 ++ server/yarn.lock | 4 ++ 14 files changed, 258 insertions(+) create mode 100644 server/.gitignore create mode 100644 server/Dockerfile create mode 100644 server/README.md create mode 100644 server/docker-compose.yml create mode 100644 server/package.json create mode 100644 server/storage/database.sqlite create mode 100644 server/themes/marc-leopold-api/pages/about.htm create mode 100644 server/themes/marc-leopold-api/pages/albums.htm create mode 100644 server/themes/marc-leopold-api/pages/api-home.htm create mode 100644 server/themes/marc-leopold-api/pages/navigation.htm create mode 100644 server/themes/marc-leopold-api/pages/page.htm create mode 100644 server/themes/marc-leopold-api/pages/services.htm create mode 100644 server/themes/marc-leopold-api/theme.yaml create mode 100644 server/yarn.lock diff --git a/server/.gitignore b/server/.gitignore new file mode 100644 index 0000000..442f172 --- /dev/null +++ b/server/.gitignore @@ -0,0 +1,4 @@ +galleries +plugins +responsiv-flat +logs diff --git a/server/Dockerfile b/server/Dockerfile new file mode 100644 index 0000000..83ede7b --- /dev/null +++ b/server/Dockerfile @@ -0,0 +1,3 @@ +FROM aspendigital/octobercms:latest +RUN usermod -u 1000 www-data +RUN usermod -G staff www-data diff --git a/server/README.md b/server/README.md new file mode 100644 index 0000000..43180bc --- /dev/null +++ b/server/README.md @@ -0,0 +1,18 @@ +## Notes +**DO NOT** forget to create the directories before running docker-compose the +first time otherwise they'll be created with `root` permissions and cause +everything to go to shit. + +## For a persistemt database + +```bash +# create empty database file on host +mkdir storage +touch storage/database.sqlite + +# start container +docker-compose up -d + +# provision database +docker-compose exec web php artisan october:up +``` diff --git a/server/docker-compose.yml b/server/docker-compose.yml new file mode 100644 index 0000000..87af341 --- /dev/null +++ b/server/docker-compose.yml @@ -0,0 +1,35 @@ +# Reference - https://docs.docker.com/compose/compose-file/ +version: '2.2' +services: + web: + # image: aspendigital/octobercms:latest + build: . + image: octobercms + restart: always + ports: + - 127.0.0.1:8101:80 + environment: + - ENABLE_CRON=true + - APP_DEBUG=true + # - CMS_ACTIVE_THEME=starter + # - CMS_BACKEND_SKIN=AspenDigital\Backend\Skins\Admin + - INIT_PLUGINS=true + # - TZ=${TZ:-America/Denver} + volumes: + # A local `.env` is not required but expected if you wish to pass secrets + # to the config - see README.md + # - ./.env:/var/www/html/.env + + - ./plugins:/var/www/html/plugins + - ./storage/app:/var/www/html/storage/app + - ./storage/logs:/var/www/html/storage/logs + + # need to create database.sqlite on filesystem before running for the + # first time - touch storage/database.sqlite + # and also poulate it - see README.md + - ./storage/database.sqlite:/var/www/html/storage/database.sqlite + + # Mounting the entire `themes` folder can cause performance issues in + # Docker for Mac + # https://docs.docker.com/compose/compose-file/#caching-options-for-volume-mounts-docker-for-mac + - ./themes:/var/www/html/themes diff --git a/server/package.json b/server/package.json new file mode 100644 index 0000000..18a1e41 --- /dev/null +++ b/server/package.json @@ -0,0 +1,3 @@ +{ + "dependencies": {} +} diff --git a/server/storage/database.sqlite b/server/storage/database.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..8b81227ef5536718a5540f804d3c8e0e2f8bf1a9 GIT binary patch literal 720896 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[oh_C)Mc>QqLUIo z7QD0$r`xL9R*9Y+?PArq|MB4?iPYp|{PQn6m2{hYp!q%-sIdFNNNUrw>>c*O)z<4P z@55Qz^*9cpLpJ9ZVbYXZ++(o5w!pajE((}K6) zc-rAY#;zvT8N);QA(}Ni6Bdr2h2$&XG7PCoSapJXd@EJJz0BqliPZ62eEVfqj6UPG zE9()rdD}5v=4{8Og<#iJkbzfCxL^jB**-duNL`(ZZ%+moka@x@s1KzQWIO6=d$7?N6kprsAI*aayNoyjH5gc?|^Gr{~eVFi_K10#8#Q zhmqR%ni&OHS4Gmr6`6n!Zf#!>9nLiVfKZEXZj71j$NCbfw@${lUvZZ0sw6`@CK`rV zUZ>97?;co;{=gz_^02E+Sv<U4J^Cg*Pck$qb&u3MlWOZ zBvNNVn#cW!*!kBkt7lU5Hj%>dNO0~fLOSzttviuAc{2XBC!Chek~i&{UH1f9F}oGX zcEQeWm8dreG*X&wi@Un?0X$33=XQ1!!1yhPOPiX�|-iop-or4Rzq0liju8(H+J_ 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\r\n

\"As a photographic artist, my creative pursuit is to escape the attempts to categorize, characterize, compartmentalize, explain, or limit my photographic expression. It is always pleasing to see how observers respond with delight to the ultimate visualizations of my quest. My fondest wish is to pursue my life as a photographer, unbridled and always with a resolve to improve and be the best I can, with a constant yearning to be better.\"<\/p>\r\n <\/blockquote>\r\n

    \r\n
  • I imagine myself peering from behind a photographer's blind, always observing, but rarely participating.<\/li>\r\n
  • I have an ephemeral sensation of being a camouflaged moth on a tree.<\/li>\r\n
  • I imagine seeing my life from that perspective, that tree, as a solitary instant in eternity.<\/li>\r\n
  • Preserving life's moments and sharing them, makes the most, I think, of my photographic proclivity.<\/li>\r\n
  • I get great satisfaction from the responses viewers have to these images of my perceived realities.<\/li>\r\n
  • As an artist and photographer, this is my mantra.<\/li>\r\n
  • I am convinced that my creative potential escapes the propensity to categorize, characterize, compartmentalize, explain, or limit my photographic expression.<\/li>\r\n
  • I will succeed in a career as a photographer, and I always resolve to improve, and be the best I can; however, I want to be much better than that.<\/li>\r\n <\/ul>\r\n

    The Essence of the Image<\/h2>\r\n

    The photographer Marc Leopold was born in Chicago, Illinois in 1964. He credits his artistry in photography to the benevolence of renowned mentors, and to his own constant search for the resources, intricacies and techniques that capture the essence of the image.<\/p>\r\n

    While Marc's work tends toward nature and representational photography, he also uses his talents in both formal and commercial situations. He works, there, to achieve the same essence that he strives for when shooting nature.<\/p>\r\n

    Marc's images are in many private collections and corporate and educational institutions. They have also appeared in a number of publications. His photographs appear in several books, including 'Two Weeks the Raven Sings', by David Reston, and in 'Once we Talk', by Jayne deVeres.<\/p>\r\n

    Marc has also published in a wide variety of magazines and newspapers, including The International Review of Irish American Art, Erik Tweeds' Two Worlds Magazine, EVE Magazine, Parfolio, Essence, The Chicago Tribune, Chicago Derry News, Business News Today, and One Day Journal.<\/p>\r\n

    In addition to this media exposure, Marc has exhibited at The Chicago College of Art, The Irish American Museum in Detroit, The Sur Dez Gallery in San Antonio, Phoenix City Gallery in Arizona, Wellner Department stores nationwide, Torren Gallery in California, and The Tide Gallery in Boston, and elsewhere.<\/p>\r\n

    Marc's artistic philosophy is based on his ability to capture a fleeting moment, a solitary instant in eternity, where he feels almost transparent, like a camouflaged moth in the midst of a lush green forest, defining for posterity through his photography an elusive moment in life, captured to share with others.<\/p>\r\n" +} \ No newline at end of file diff --git a/server/themes/marc-leopold-api/pages/albums.htm b/server/themes/marc-leopold-api/pages/albums.htm new file mode 100644 index 0000000..615c2e1 --- /dev/null +++ b/server/themes/marc-leopold-api/pages/albums.htm @@ -0,0 +1,46 @@ +title = "Galleries" +url = "/api/v1/galleries" +is_hidden = 0 +contentType = "json" +force_show = 0 + +[albumList] +albumPage = "album" +thumbMode = "auto" +thumbWidth = 640 +thumbHeight = 480 +albumsOnPage = 12 +== +{ + "success": true, + "title": "My Galleries", + "galleries": [ + {% for album in albumList.albums %} { + "id": {{ album.id }}, + "title": "{{ album.title }}", + "url": "{{ album.url }}", + "featuredImage": "{{ album.latestPhoto.thumb }}", + "created": "{{ album.created_at|date('M d, Y') }}", + "count": {{ album.photo_count }}, + "images": [ + {% for photo in album.photos %} { + "id": {{ photo.id }}, + "thumbUrl": "{{ photo.image.thumb(600,400,{'mode': 'crop'}) }}", + "url": "{{ photo.image.path }}", + "sort_order": "{{ photo.image.sort_order }}" + }{% if not loop.last %},{% endif %} {% endfor %} + ] + }{% if not loop.last %},{% endif %} {% endfor %} + ] + + {% if albumList.lastPage > 1 %} + {% if albumList.currentPage > 1 %} + "next": {{ this.page.baseFileName|page }}?page={{ albumList.currentPage-1 }}" + {% endif %} + + {% if albumList.lastPage > albumList.currentPage %} + "prev": "{{ this.page.baseFileName|page }}?page={{ albumList.currentPage+1 }}" + {% endif %} + {% endif %} + +} \ No newline at end of file diff --git a/server/themes/marc-leopold-api/pages/api-home.htm b/server/themes/marc-leopold-api/pages/api-home.htm new file mode 100644 index 0000000..26f52b4 --- /dev/null +++ b/server/themes/marc-leopold-api/pages/api-home.htm @@ -0,0 +1,46 @@ +title = "API Home" +url = "/api/v1/home" +is_hidden = 0 +contentType = "json" +force_show = 0 + +[builderList imgList] +modelClass = "Studiovx\Marcleopold\Models\IndexImage" +scope = "-" +scopeValue = "{{ :scope }}" +displayColumn = "image" +noRecordsMessage = "No records found" +detailsPage = "-" +detailsUrlParameter = "id" +pageNumber = "{{ :page }}" + +[builderList tagList] +modelClass = "Studiovx\Marcleopold\Models\IndexTagline" +scope = "-" +scopeValue = "{{ :scope }}" +displayColumn = "text" +noRecordsMessage = "No records found" +detailsPage = "-" +detailsUrlParameter = "id" +pageNumber = "{{ :page }}" +== +{% set records = imgList.records %} +{% set displayColumn = imgList.displayColumn %} +{% set noRecordsMessage = imgList.noRecordsMessage %} +{% set detailsPage = imgList.detailsPage %} +{% set detailsKeyColumn = imgList.detailsKeyColumn %} +{% set detailsUrlParameter = imgList.detailsUrlParameter %} +{ + "success": true, + "bgImages": + [{% for record in records %}"{{ attribute(record, displayColumn)|media }}"{% if not loop.last %},{% endif %}{% endfor %}], +{% set records = tagList.records %} +{% set displayColumn = tagList.displayColumn %} +{% set noRecordsMessage = tagList.noRecordsMessage %} +{% set detailsPage = tagList.detailsPage %} +{% set detailsKeyColumn = tagList.detailsKeyColumn %} +{% set detailsUrlParameter = tagList.detailsUrlParameter %} + + "taglines": + [{% for record in records %}{"sort_order": {{ record.sort_order }}, "text": "{{ attribute(record, displayColumn) }}"}{% if not loop.last %},{% endif %}{% endfor %}] +} \ No newline at end of file diff --git a/server/themes/marc-leopold-api/pages/navigation.htm b/server/themes/marc-leopold-api/pages/navigation.htm new file mode 100644 index 0000000..e61a82d --- /dev/null +++ b/server/themes/marc-leopold-api/pages/navigation.htm @@ -0,0 +1,22 @@ +title = "Navigation" +url = "/api/v1/navigation" +is_hidden = 0 +contentType = "json" +force_show = 0 +== +{ + "success": true, + "siteNav": [ + { "to": "/", "text": "Home", "bgImgUrl": "/img/devices--bw.jpg"}, + { "to": "/galleries", "text": "Galleries", "bgImgUrl": "/img/photo-box--bw.jpg" }, + { "to": "/services", "text": "Services", "bgImgUrl": "/img/camera--bw.jpg" }, + { "to": "/about", "text": "About Me", "bgImgUrl": "/img/silhouette--dark.jpg" }, + { "to": "/contact", "text": "Contact Me", "bgImgUrl": "/img/mail--bw.jpg" } + ], + "socialNav": [ + { "to": "https://www.instagram.com", "text": "Instagram", "icon": "instagram" }, + { "to": "https://www.facebook.com", "text": "Facebook", "icon": "facebook" }, + { "to": "https://twitter.com", "text": "Twitter", "icon": "twitter" }, + { "to": "https://uk.linkedin.com", "text": "LinkedIn", "icon": "linkedin" } + ] +} diff --git a/server/themes/marc-leopold-api/pages/page.htm b/server/themes/marc-leopold-api/pages/page.htm new file mode 100644 index 0000000..3cc7cfa --- /dev/null +++ b/server/themes/marc-leopold-api/pages/page.htm @@ -0,0 +1,24 @@ +title = "Page" +url = "/api/v1/page/:slug" +is_hidden = 0 +contentType = "json" +force_show = 0 + +[builderDetails] +modelClass = "Studiovx\Marcleopold\Models\Pages" +identifierValue = "{{ :slug }}" +modelKeyColumn = "slug" +displayColumn = "title" +notFoundMessage = "Record not found" +== +{% set record = builderDetails.record %} +{% set displayColumn = builderDetails.displayColumn %} +{% set notFoundMessage = builderDetails.notFoundMessage %} + +{% if record %}{ + "success": true, + "title": "{{ attribute(record, displayColumn) }}", + "imageUrl": "{{ record.featured_image|media }}" +}{% else %} + { "success": false } +{% endif %} diff --git a/server/themes/marc-leopold-api/pages/services.htm b/server/themes/marc-leopold-api/pages/services.htm new file mode 100644 index 0000000..93589a2 --- /dev/null +++ b/server/themes/marc-leopold-api/pages/services.htm @@ -0,0 +1,36 @@ +title = "Services" +url = "/api/v1/services" +is_hidden = 0 +contentType = "json" +force_show = 0 + +[builderList] +modelClass = "Studiovx\Marcleopold\Models\Services" +scope = "-" +scopeValue = "{{ :scope }}" +displayColumn = "title" +noRecordsMessage = "No records found" +detailsPage = "-" +detailsUrlParameter = "id" +pageNumber = "{{ :page }}" +sortColumn = "sort_order" +sortDirection = "asc" +== +{% set records = builderList.records %} +{% set displayColumn = builderList.displayColumn %} +{% set noRecordsMessage = builderList.noRecordsMessage %} +{% set detailsPage = builderList.detailsPage %} +{% set detailsKeyColumn = builderList.detailsKeyColumn %} +{% set detailsUrlParameter = builderList.detailsUrlParameter %} + +{ + "success": true, + "services": [ + {% for record in records %}{ + "heading": "{{ attribute(record, displayColumn) }}", + "html": "{{ record.description|raw }}", + "imageUrl": "{%if record.featured %}{{ record.featured|media }}{% endif %}", + "backgroundImageUrl": "{{ record.featured|mediathumb_resize("width", 800, 70) }}", + "linkUrl": "{{ record.service_url }}" + }{% if not loop.last %},{% endif %}{% endfor %} +]} \ No newline at end of file diff --git a/server/themes/marc-leopold-api/theme.yaml b/server/themes/marc-leopold-api/theme.yaml new file mode 100644 index 0000000..8581c9f --- /dev/null +++ b/server/themes/marc-leopold-api/theme.yaml @@ -0,0 +1,5 @@ +name: 'Marc Leopold API' +description: '' +author: '' +homepage: '' +code: '' diff --git a/server/yarn.lock b/server/yarn.lock new file mode 100644 index 0000000..fb57ccd --- /dev/null +++ b/server/yarn.lock @@ -0,0 +1,4 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + +