├── CNAME ├── .github ├── FUNDING.yml └── workflows │ └── deployflow.yml ├── vue.config.js ├── src ├── types │ ├── shims-vue.d.ts │ └── shims-tsx.d.ts ├── App.vue ├── plugins │ ├── vuetify.ts │ └── router.ts ├── main.ts └── views │ ├── NotFound.vue │ └── Home.vue ├── .gitignore ├── README.md ├── tsconfig.json ├── package.json ├── LICENSE └── public └── index.html /CNAME: -------------------------------------------------------------------------------- 1 | postyourstartup.com -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: backmeupplz 2 | -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | devServer: { 3 | disableHostCheck: true 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/types/shims-vue.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.vue' { 2 | import Vue from 'vue' 3 | export default Vue 4 | } 5 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | -------------------------------------------------------------------------------- /src/plugins/vuetify.ts: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuetify from 'vuetify' 3 | import 'vuetify/dist/vuetify.min.css' 4 | 5 | Vue.use(Vuetify) 6 | 7 | export default new Vuetify({ 8 | icons: { 9 | iconfont: 'mdi', 10 | }, 11 | }) 12 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | // Dependencies 2 | import Vue from 'vue' 3 | import App from './App.vue' 4 | import router from './plugins/router' 5 | import vuetify from './plugins/vuetify' 6 | 7 | Vue.config.productionTip = true 8 | 9 | new Vue({ 10 | router, 11 | vuetify, 12 | render: (h) => h(App), 13 | }).$mount('#app') 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | dist 4 | docs 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # Log files 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | 15 | # Editor directories and files 16 | .idea 17 | .vscode 18 | *.suo 19 | *.ntvs* 20 | *.njsproj 21 | *.sln 22 | *.sw? 23 | -------------------------------------------------------------------------------- /src/types/shims-tsx.d.ts: -------------------------------------------------------------------------------- 1 | import Vue, { VNode } from 'vue' 2 | 3 | declare global { 4 | namespace JSX { 5 | // tslint:disable no-empty-interface 6 | interface Element extends VNode {} 7 | // tslint:disable no-empty-interface 8 | interface ElementClass extends Vue {} 9 | interface IntrinsicElements { 10 | [elem: string]: any 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/views/NotFound.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Frontend code template 2 | 3 | This template to be used for frontend applications. Written in Vue.js with Vuetify and Vuex set up it is ready to be used. Facebook. Google and Telegram login is included. 4 | 5 | ## Project setup 6 | ``` 7 | yarn install 8 | ``` 9 | 10 | ### Compiles and hot-reloads for development 11 | ``` 12 | yarn serve 13 | ``` 14 | 15 | ### Compiles and minifies for production 16 | ``` 17 | yarn build 18 | ``` 19 | -------------------------------------------------------------------------------- /src/plugins/router.ts: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Router from 'vue-router' 3 | import Home from '../views/Home.vue' 4 | import NotFound from '../views/NotFound.vue' 5 | 6 | Vue.use(Router) 7 | 8 | const router = new Router({ 9 | mode: 'history', 10 | routes: [ 11 | { 12 | path: '/', 13 | name: 'home', 14 | component: Home, 15 | }, 16 | { 17 | path: '*', 18 | name: 'notFound', 19 | component: NotFound, 20 | }, 21 | ], 22 | }) 23 | 24 | export default router 25 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2017", 4 | "module": "commonjs", 5 | "strict": true, 6 | "jsx": "preserve", 7 | "importHelpers": true, 8 | "strictNullChecks": true, 9 | "noImplicitThis": true, 10 | "strictFunctionTypes": true, 11 | "noEmit": true, 12 | "moduleResolution": "node", 13 | "esModuleInterop": true, 14 | "allowSyntheticDefaultImports": true, 15 | "emitDecoratorMetadata": true, 16 | "experimentalDecorators": true, 17 | "sourceMap": true, 18 | "baseUrl": ".", 19 | "noImplicitAny": true, 20 | "typeRoots": ["./types/*", "./node_modules/@types"], 21 | "types": ["node"], 22 | "paths": { 23 | "@/*": ["src/*"] 24 | }, 25 | "lib": ["esnext", "dom", "dom.iterable", "scripthost", "es6", "es2015"] 26 | }, 27 | "include": [ 28 | "src/**/*.ts", 29 | "src/**/*.tsx", 30 | "src/**/*.vue", 31 | "tests/**/*.ts", 32 | "tests/**/*.tsx" 33 | ], 34 | "exclude": ["node_modules"] 35 | } 36 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "frontend", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "serve": "vue-cli-service serve", 7 | "build": "vue-cli-service build && rm -rf docs && mv dist docs && cp CNAME docs/CNAME", 8 | "distribute": "vue-cli-service serve --mode development" 9 | }, 10 | "dependencies": { 11 | "@types/node": "^13.13.5", 12 | "pug": "^3.0.1", 13 | "pug-plain-loader": "^1.0.0", 14 | "vue": "^2.6.11", 15 | "vue-class-component": "^7.2.3", 16 | "vue-property-decorator": "^8.4.2", 17 | "vue-router": "^3.1.6", 18 | "vuetify": "^2.2.28" 19 | }, 20 | "devDependencies": { 21 | "@vue/cli-plugin-typescript": "^4.3.1", 22 | "@vue/cli-service": "^4.3.1", 23 | "sass": "^1.26.5", 24 | "sass-loader": "^8.0.2", 25 | "typescript": "^3.9.2", 26 | "vue-template-compiler": "^2.6.11" 27 | }, 28 | "postcss": { 29 | "plugins": { 30 | "autoprefixer": {} 31 | } 32 | }, 33 | "browserslist": [ 34 | "> 1%", 35 | "last 2 versions", 36 | "not ie <= 8" 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Nikita Kolmogorov 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 11 | 12 | Post your startup 13 | 14 | 15 | 16 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /.github/workflows/deployflow.yml: -------------------------------------------------------------------------------- 1 | name: Build and deploy app 2 | on: 3 | push: 4 | branches: 5 | - master 6 | jobs: 7 | build-and-deploy-app: 8 | permissions: 9 | pages: write 10 | id-token: write 11 | runs-on: ubuntu-latest 12 | environment: 13 | name: github-pages 14 | url: ${{ steps.deployment.outputs.page_url }} 15 | env: 16 | NODE_OPTIONS: '--max_old_space_size=4096' 17 | steps: 18 | - name: Checkout 19 | uses: actions/checkout@v2 20 | with: 21 | persist-credentials: false 22 | - uses: c-hive/gha-yarn-cache@v2 23 | - name: Setup Node.js environment 24 | uses: actions/setup-node@v2 25 | with: 26 | node-version: '16' 27 | - name: Install modules 28 | run: yarn 29 | shell: bash 30 | - name: Build code 31 | run: yarn build 32 | shell: bash 33 | - name: Setup Pages 34 | uses: actions/configure-pages@v2 35 | - name: Upload artifact 36 | uses: actions/upload-pages-artifact@v1 37 | with: 38 | path: 'docs' 39 | - name: Deploy to GitHub Pages 40 | id: deployment 41 | uses: actions/deploy-pages@v1 42 | -------------------------------------------------------------------------------- /src/views/Home.vue: -------------------------------------------------------------------------------- 1 | 45 | 46 | 53 | --------------------------------------------------------------------------------