Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
103 commits
Select commit Hold shift + click to select a range
489dacd
:recycle: - Implement new eslint styling
praburangki Sep 4, 2018
d8cfc1d
updating to latest enterprise boilerplate
praburangki Aug 31, 2018
dd96945
WIP unit test
praburangki Sep 3, 2018
a0ef335
:recycle: - Move Navbar and footer from base components
praburangki Sep 4, 2018
703cd5c
:recycle: - Revert camel case components for vuetify
praburangki Sep 15, 2018
eeeba41
:recycle: - Disable switching language
praburangki Sep 15, 2018
913f6bb
:construction: - #7 Setup event state modules
praburangki Sep 15, 2018
8161720
:recycle: - fix eslint
praburangki Sep 15, 2018
c3a8184
:construction: - :recycle: - #7 move event items to a component
praburangki Sep 15, 2018
ed8b969
:construction: - temporary move users module
praburangki Sep 15, 2018
ee7b273
:construction: - create events vuex module
praburangki Sep 15, 2018
62fd4bc
:star: - #7 Ability to fetch events from backend
praburangki Sep 15, 2018
0c00ad8
:recycle: - Align footer items
praburangki Sep 16, 2018
04badc3
:recycle: - :construction: - #7 Adding fetch for single event
praburangki Sep 16, 2018
12b2c90
:recycle: - Remove row attribut on v-layout
praburangki Sep 17, 2018
1b1b344
:recycle: - :construction: - #7 Move event details to a component
praburangki Sep 17, 2018
c2656f1
:recycle: - :construction: - #7 adding verb and change isRequesting s…
praburangki Sep 17, 2018
983fd51
:recycle: - :construction: - #7 Refactor event detail page
praburangki Sep 17, 2018
e626867
:recycle: - Remove transition on route change
praburangki Sep 17, 2018
539296c
:recycle: - :construction: - #7 Cover Image for event details
praburangki Sep 17, 2018
0d5f1d9
:recycle: - :construction: - #7 Refactor event details
praburangki Sep 17, 2018
5df8ba7
:recycle: - :construction: - #7 Finish UI for event details
praburangki Sep 18, 2018
a2c7c76
:recycle: - :construction: - #7 Add handling event details response
praburangki Sep 18, 2018
ccbcc26
:construction: - #7 Adding date filter
praburangki Sep 20, 2018
f78011c
:recycle: - :construction: - #7 Handle response data and add maps url
praburangki Sep 20, 2018
2d6df8b
:recycle: - :construction: - #7 Changing response data
praburangki Sep 20, 2018
2a5b35b
change background color
praburangki Sep 21, 2018
0727d2d
redesign nav drawer
praburangki Sep 21, 2018
82e83d3
change icon colors
praburangki Sep 21, 2018
b754667
update vuetify
praburangki Sep 21, 2018
c856392
add swiper and box shadow on cards
praburangki Sep 22, 2018
165485c
changes on event cards
praburangki Sep 23, 2018
024d3d3
handle tbd events
praburangki Sep 23, 2018
af94d76
schedule items
praburangki Sep 23, 2018
82737eb
handle if theres parallel sessions
praburangki Sep 25, 2018
cf091e6
:star: - #7 Handle if event not found
praburangki Sep 25, 2018
bc09428
:recycle: - #7 Adding placeholder image and remove unused images
praburangki Sep 25, 2018
6378b44
:bug: - #7 Fix event link and colors
praburangki Sep 25, 2018
59e821e
:recycle: - :star: - #7 Adding devour to respect json api spec
praburangki Sep 28, 2018
61d7ef1
:recycle: - #7 Create a component for event details
praburangki Sep 28, 2018
d250ece
:star: - #7 Ability to save and read from browser database
praburangki Sep 28, 2018
4ee921a
:recycle: - :star: - #7 Add image caching and change loading
praburangki Sep 29, 2018
c6e1bbf
:bug: - Disable travis temporary
praburangki Sep 29, 2018
1af0faa
:bug: - Fix date format that has different timezone
praburangki Oct 2, 2018
50f0eed
Merge pull request #8 from gdg-bali/7-fetch-events
praburangki Oct 2, 2018
3fe8989
:construction: - #4 Adding dialog and user icon
praburangki Oct 2, 2018
4c5ba38
:star: - #4 Ability to sign in with google
praburangki Oct 6, 2018
ba6e1f8
Merge pull request #19 from gdg-bali/4-user-auth
praburangki Oct 6, 2018
d03b596
:recycle: - Rename page to metaInfo
praburangki Oct 6, 2018
fca94a1
:construction: - #13 Setup admin page
praburangki Oct 6, 2018
341006c
Merge pull request #21 from gdg-bali/13-admin-page
praburangki Oct 6, 2018
0c1799b
:construction: - #23 Add event forms and fields
praburangki Oct 7, 2018
ef51e7a
:recycle: - Refactor index resources page to a component
praburangki Oct 7, 2018
5bd45a8
:star: - #25 Ability to add venues (without validation)
praburangki Oct 7, 2018
81bbfa9
Merge pull request #26 from gdg-bali/25-admin-venues-add
praburangki Oct 7, 2018
a3526a2
:construction: - #16 Add registration page and handle for user not lo…
praburangki Oct 8, 2018
3f38ae4
:recycle: - #16 - change register event to dialog and no need to login
praburangki Oct 9, 2018
6842b7e
:construction: - #16 - add validation for event registration
praburangki Oct 9, 2018
1a8e70a
:recycle: - Remove jsonapi spec
praburangki Oct 9, 2018
9f97eea
:construction: - :recycle: - #16 Add QR Package
praburangki Oct 10, 2018
af94300
:star: - #16 styling for qr code layout
praburangki Oct 10, 2018
9f76773
Merge pull request #27 from gdg-bali/16-QR-Code
praburangki Oct 10, 2018
12e76be
:star: - #12 Adding team page and registration form for volunteers
praburangki Oct 12, 2018
481cd37
:bug: - add config for oauth callbacks
praburangki Oct 12, 2018
a7f720e
Merge pull request #29 from gdg-bali/12-team-page
praburangki Oct 12, 2018
0f29aaf
Testing out circle ci
praburangki Oct 14, 2018
816c488
add build step for master
praburangki Oct 14, 2018
2d0ed7e
add branches only --no-verify
praburangki Oct 14, 2018
0305b94
Merge pull request #32 from gdg-bali/20-ci-cd
praburangki Oct 14, 2018
915fd38
ignore firebase folder
praburangki Oct 14, 2018
025d6eb
remove firebase tools
praburangki Oct 14, 2018
614b615
setup circle CI
deerawan Oct 16, 2018
1a2bb0f
Merge pull request #31 from deerawan/20-setup-ci
praburangki Oct 17, 2018
ec26e1c
:recycle: - Refactor event & volunter registration
praburangki Oct 17, 2018
fcdda73
:star: - :recycle: - #18 Adding profile page and refactor qr code com…
praburangki Oct 17, 2018
35c6995
Merge pull request #33 from gdg-bali/18-profile-page
praburangki Oct 17, 2018
3f41194
:recycle: - Refactor api requests
praburangki Oct 23, 2018
ca48b05
:construction: - :recycle: - adding attende request
praburangki Oct 23, 2018
f5cd95d
:recycle: - remove bunch of stuff to reduce bundle size
praburangki Oct 23, 2018
3b52507
:recycle: - :star: - Reduce bundle sizes and replace swiper with tiny…
praburangki Oct 24, 2018
52c6de5
:recycle: - VueQr Component
praburangki Oct 24, 2018
b597082
:recycle: - refactor auth vuex
praburangki Oct 24, 2018
c33d548
:recycle: - :construction: - Refactor vuex and WIP abilities
praburangki Oct 24, 2018
69273e8
:construction: - adding abilities
praburangki Oct 26, 2018
92a9ff4
:star: - added admin functionality
praburangki Oct 31, 2018
e2a2e53
:recycle: - separate admin navbar component
praburangki Oct 31, 2018
837a813
:star: - adding calender url to events
praburangki Nov 3, 2018
bd0b53b
:recycle: - Refactor schedule view
praburangki Nov 3, 2018
81e27cc
:recycle: - Refactor and add submission forms
praburangki Nov 5, 2018
3c5f489
:recycle: - Refactor fetching events
praburangki Nov 5, 2018
c5e96eb
update packages
praburangki Nov 5, 2018
68fc18d
:recycle: - Refactor date-fns
praburangki Nov 6, 2018
65e87bf
:bug: - fix css classes
praburangki Nov 6, 2018
87940ff
:recycle: - move hero image and add preconnect
praburangki Nov 7, 2018
3a241b7
:recycle: - implement google sign in without library
praburangki Nov 8, 2018
7652790
:recycle: - refactor calling google api auth
praburangki Nov 9, 2018
b9b5e97
:star: - Adding analytics
praburangki Nov 9, 2018
6a47479
:recycle: - Refactor axios
praburangki Nov 9, 2018
70f4538
:recycle: - adding lazy load to tiny slider
praburangki Nov 9, 2018
97057f0
:recycle: - add preconnect and fix zindex
praburangki Nov 9, 2018
952c69e
add og metas
praburangki Nov 12, 2018
173239f
remove og meta tags
praburangki Nov 12, 2018
0589a8d
:recycle: - Refactor google sign in
praburangki Nov 16, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 27 additions & 46 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,29 +25,6 @@ install_save_cache: &install_save_cache

jobs:

test:
<<: *vm_settings
steps:
- checkout

# Install dependencies
- restore_cache: *install_restore_cache
- run: *install_run
- save_cache: *install_save_cache

- run:
name: Run tests
# Install libgconf, needed by Cypress' Electron, then run tests
command: sudo apt-get install libgconf-2-4 && yarn test:ci

# Store test artifacts
- store_artifacts:
path: tests/unit/coverage
- store_artifacts:
path: tests/e2e/videos
- store_artifacts:
path: tests/e2e/screenshots

build:
<<: *vm_settings
steps:
Expand All @@ -66,31 +43,35 @@ jobs:
- store_artifacts:
path: dist

# deploy:
# <<: *vm_settings
# steps:
# # Install dependencies
# - restore_cache: *install_restore_cache
# - run: *install_run
# - save_cache: *install_save_cache

# # Build the app for production
# - run: yarn build

# ADD YOUR DEPLOYMENT PROCESS HERE
# https://circleci.com/docs/2.0/deployment-integrations/
deploy_develop:
<<: *vm_settings
steps:
- run: ./node_modules/.bin/firebase use develop --token $FIREBASE_TOKEN
- run: ./node_modules/.bin/firebase deploy --token $FIREBASE_TOKEN

deploy_master:
<<: *vm_settings
steps:
- run: ./node_modules/.bin/firebase use default --token $FIREBASE_TOKEN
- run: ./node_modules/.bin/firebase deploy --token $FIREBASE_TOKEN

workflows:
version: 2
test_and_deploy:
deploy_develop:
jobs:
- build
- deploy_develop:
requires:
- build
filters:
branches:
only: develop
deploy_master:
jobs:
- test
- build
# - deploy:
# # Only deploy if tests pass
# requires:
# - test
# # Only deploy the master branch
# filters:
# branches:
# only: master
- deploy_master:
requires:
- build
filters:
branches:
only: master
4 changes: 4 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ module.exports = {
? ['error', { allow: ['warn', 'error'] }]
: 'off',
'prettier/prettier': 'error',
'vue/multiline-html-element-content-newline': 'error',
'vue/singleline-html-element-content-newline': ['error', { ignores: ['v-icon']}],
'vue/no-spaces-around-equal-signs-in-attribute': 'error',
'vue/script-indent': ['error', 2, { baseIndent: 0 }],
'vue/max-attributes-per-line': [
2,
{
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,7 @@ yarn-error.log*
*.njsproj
*.sln
.vscode/*
.firebase

lighthouse/
jsconfig.json
17 changes: 0 additions & 17 deletions .travis.yml

This file was deleted.

2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
# GDG Bali Website

[![CircleCI](https://circleci.com/gh/gdg-bali/webapp.svg?style=svg)](https://circleci.com/gh/gdg-bali/webapp)
2 changes: 1 addition & 1 deletion _templates/new/view/view.ejs.t
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ to: "src/router/views/<%= h.inflection.dasherize(name) %>.vue"
import Layout from '@layouts/main'

export default {
page: {
metaInfo: {
title: '<%= importName %>',
meta: [{ name: 'description', content: '<%= importName %>' }],
},
Expand Down
57 changes: 50 additions & 7 deletions aliases.config.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
const path = require('path');

function resolveSrc(_path) {
return path.join(__dirname, _path);
}
const fs = require('fs');
const prettier = require('prettier');

const aliases = {
'@': '.',
'@src': 'src',
'@router': 'src/router',
'@views': 'src/router/views',
Expand All @@ -14,15 +13,59 @@ const aliases = {
'@utils': 'src/utils',
'@state': 'src/state',
'@design': 'src/design/index.scss',
'@api': 'src/api',
};

module.exports = {
webpack: {},
jest: {},
jsconfig: {},
};

for (const alias in aliases) {
module.exports.webpack[alias] = resolveSrc(aliases[alias]);
module.exports.jest['^' + alias + '/(.*)$'] =
'<rootDir>/' + aliases[alias] + '/$1';
const aliasTo = aliases[alias];
module.exports.webpack[alias] = resolveSrc(aliasTo);
module.exports.jest['^' + alias + '/(.*)$'] = '<rootDir>/' + aliasTo + '/$1';
module.exports.jsconfig[alias + '/*'] = [aliasTo + '/*'];
module.exports.jsconfig[alias] = aliasTo.includes('/index.')
? [aliasTo]
: [
aliasTo + '/index.js',
aliasTo + '/index.json',
aliasTo + '/index.vue',
aliasTo + '/index.scss',
aliasTo + '/index.css',
];
}

const jsconfigTemplate = require('./jsconfig.template') || {};
const jsconfigPath = path.resolve(__dirname, 'jsconfig.json');

fs.writeFile(
jsconfigPath,
prettier.format(
JSON.stringify({
...jsconfigTemplate,
compilerOptions: {
...(jsconfigTemplate.compilerOptions || {}),
paths: module.exports.jsconfig,
},
}),
{
...require('./.prettierrc'),
parser: 'json',
}
),
error => {
if (error) {
console.error(
'Error while creating jsconfig.json from aliases.config.js.'
);
throw error;
}
}
);

function resolveSrc(_path) {
return path.join(__dirname, _path);
}
13 changes: 13 additions & 0 deletions dev/service-worker.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,19 @@ workbox.precaching.precacheAndRoute(self.__precacheManifest || []);

workbox.routing.registerNavigationRoute('/index.html');

workbox.routing.registerRoute(
/.*\.(?:png|gif|jpg|jpeg|svg|webp)((\?.*)$|$)/,
workbox.strategies.staleWhileRevalidate({
cacheName: 'images',
plugins: [
new workbox.expiration.Plugin({
maxEntries: 60,
maxAgeSeconds: 30 * 24 * 60 * 60, // 30 Days
}),
],
})
);

self.addEventListener('message', event => {
if (!event.data) return;

Expand Down
14 changes: 10 additions & 4 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
const _ = require('lodash')
const _ = require('lodash');
// Use a random port number for the mock API by default,
// to support multiple instances of Jest running
// simultaneously, like during pre-commit lint.
process.env.MOCK_API_PORT = process.env.MOCK_API_PORT || _.random(9000, 9999)
process.env.MOCK_API_PORT = process.env.MOCK_API_PORT || _.random(9000, 9999);

module.exports = {
setupFiles: ['<rootDir>/tests/unit/setup'],
Expand All @@ -15,7 +15,13 @@ module.exports = {
'^.+\\.vue$': 'vue-jest',
'^.+\\.js$': 'babel-jest',
},
moduleNameMapper: require('./aliases.config').jest,
moduleNameMapper: {
// Transform any static assets to empty strings
'\\.(jpe?g|png|gif|webp|svg|mp4|webm|ogg|mp3|wav|flac|aac|woff2?|eot|ttf|otf)$':
'<rootDir>/tests/unit/fixtures/empty-string.js',
'.styl(|us)$': '<rootDir>/tests/unit/__mocks__/styleMock.js',
...require('./aliases.config').jest,
},
snapshotSerializers: ['jest-serializer-vue'],
coverageDirectory: '<rootDir>/tests/unit/coverage',
collectCoverageFrom: [
Expand All @@ -41,4 +47,4 @@ module.exports = {
experimentalCSSCompile: false,
},
},
}
};
14 changes: 14 additions & 0 deletions jsconfig.template.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// This is a template for a jsconfig.json file which will be
// generated when starting the dev server or a build.
module.exports = {
baseUrl: '.',
include: ['src/**/*', 'tests/**/*'],
compilerOptions: {
baseUrl: '.',
target: 'es6',
module: 'es6',
// ...
// `paths` will be automatically generated using aliases.config.js
// ...
},
}
Loading