diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 2c5ff862..00000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.dockerignore b/.dockerignore index 408937b5..1c360636 100644 --- a/.dockerignore +++ b/.dockerignore @@ -15,4 +15,7 @@ node_modules # Docker Dockerfile .dockerignore -docker-compose.yml \ No newline at end of file +docker-compose.yml + +# Android App +/app \ No newline at end of file diff --git a/.env.example b/.env.example index 57df0d2b..79ebd6ef 100644 --- a/.env.example +++ b/.env.example @@ -4,6 +4,7 @@ SECRET_KEY=change-me # URLs PUBLIC_URL=http://localhost:3000 +PUBLIC_SERVER_URL=http://localhost:3100 # Database POSTGRES_HOST=localhost diff --git a/.eslintrc.json b/.eslintrc.json index db78eb3f..c9c7e52f 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,5 +1,6 @@ { "root": true, + "ignorePatterns": ["/app"], "parser": "@typescript-eslint/parser", "extends": ["plugin:@typescript-eslint/recommended", "plugin:prettier/recommended"], "plugins": ["@typescript-eslint/eslint-plugin", "simple-import-sort", "unused-imports"], diff --git a/.github/workflows/close-stale.yml b/.github/workflows/close-stale.yml new file mode 100644 index 00000000..92516079 --- /dev/null +++ b/.github/workflows/close-stale.yml @@ -0,0 +1,16 @@ +name: 'Close stale issues and PRs' + +on: + schedule: + - cron: '0 0 * * *' + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v5.0.0 + with: + stale-pr-message: 'This PR is stale because it has been open for 30 days with no activity. Remove the stale label or comment on this PR, otherwise it would be closed in 5 days.' + stale-issue-message: 'This issue is stale because it has been open for 30 days with no activity. Remove the stale label or comment on this issue, otherwise it would be closed in 5 days.' + days-before-stale: 30 + days-before-close: 5 diff --git a/.github/workflows/docker-build-push.yml b/.github/workflows/docker-build-push.yml index 80543701..62f06bbb 100644 --- a/.github/workflows/docker-build-push.yml +++ b/.github/workflows/docker-build-push.yml @@ -13,9 +13,9 @@ jobs: - name: Checkout the repository uses: actions/checkout@v3.0.0 - - id: slug - name: Get Short Commit SHA - run: echo "::set-output name=sha8::$(echo ${GITHUB_SHA} | cut -c1-8)" + - id: version + name: Get Version + run: echo ::set-output name=tag::${GITHUB_REF#refs/*/} - name: Login to Docker uses: docker/login-action@v1.14.1 @@ -31,7 +31,7 @@ jobs: file: client/Dockerfile tags: | amruthpillai/reactive-resume:client-latest - amruthpillai/reactive-resume:client-${{ steps.slug.outputs.sha8 }} + amruthpillai/reactive-resume:client-${{ steps.version.outputs.tag }} docker_server: name: Docker (Server) @@ -41,9 +41,9 @@ jobs: - name: Checkout the repository uses: actions/checkout@v3.0.0 - - id: slug - name: Get Short Commit SHA - run: echo "::set-output name=sha8::$(echo ${GITHUB_SHA} | cut -c1-8)" + - id: version + name: Get Version + run: echo ::set-output name=tag::${GITHUB_REF#refs/*/} - name: Login to Docker uses: docker/login-action@v1.14.1 @@ -59,7 +59,7 @@ jobs: file: server/Dockerfile tags: | amruthpillai/reactive-resume:server-latest - amruthpillai/reactive-resume:server-${{ steps.slug.outputs.sha8 }} + amruthpillai/reactive-resume:server-${{ steps.version.outputs.tag }} github_client: name: GitHub (Client) @@ -69,9 +69,9 @@ jobs: - name: Checkout the repository uses: actions/checkout@v3.0.0 - - id: slug - name: Get Short Commit SHA - run: echo "::set-output name=sha8::$(echo ${GITHUB_SHA} | cut -c1-8)" + - id: version + name: Get Version + run: echo ::set-output name=tag::${GITHUB_REF#refs/*/} - name: Login to GitHub Container Registry uses: docker/login-action@v1.14.1 @@ -88,7 +88,7 @@ jobs: file: client/Dockerfile tags: | ghcr.io/amruthpillai/reactive-resume:client-latest - ghcr.io/amruthpillai/reactive-resume:client-${{ steps.slug.outputs.sha8 }} + ghcr.io/amruthpillai/reactive-resume:client-${{ steps.version.outputs.tag }} github_server: name: GitHub (Server) @@ -98,9 +98,9 @@ jobs: - name: Checkout the repository uses: actions/checkout@v3.0.0 - - id: slug - name: Get Short Commit SHA - run: echo "::set-output name=sha8::$(echo ${GITHUB_SHA} | cut -c1-8)" + - id: version + name: Get Version + run: echo ::set-output name=tag::${GITHUB_REF#refs/*/} - name: Login to GitHub Container Registry uses: docker/login-action@v1.14.1 @@ -117,4 +117,4 @@ jobs: file: server/Dockerfile tags: | ghcr.io/amruthpillai/reactive-resume:server-latest - ghcr.io/amruthpillai/reactive-resume:server-${{ steps.slug.outputs.sha8 }} + ghcr.io/amruthpillai/reactive-resume:server-${{ steps.version.outputs.tag }} diff --git a/.gitignore b/.gitignore index 1ff43cbc..bd682b05 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,6 @@ # Project Dependencies node_modules + +# macOS +.DS_Store \ No newline at end of file diff --git a/.prettierignore b/.prettierignore index b193fc8f..3f4fce07 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,6 +1,3 @@ -# Global -node_modules - # Schema schema/dist @@ -11,6 +8,25 @@ server/dist client/.next client/public/__ENV.js +# IDEs +.vscode + +# Project Metadata +LICENSE +README.md +CHANGELOG.md + +# Project Dependencies +node_modules + +# Docker +Dockerfile +.dockerignore +docker-compose.yml + +# Android App +/app + # Docs docs/build docs/.docusaurus \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..c19ed6d8 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,26 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "attach", + "name": "Debug: Server", + "port": 9229, + "restart": true, + "stopOnEntry": false, + "protocol": "inspector" + }, + { + "name": "Debug: Client", + "type": "node-terminal", + "request": "launch", + "command": "pnpm run dev:client", + "console": "integratedTerminal", + "serverReadyAction": { + "pattern": "started server on .+, url: (https?://.+)", + "uriFormat": "%s", + "action": "debugWithChrome" + } + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json index 27015764..d793699d 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,15 +1,25 @@ { "css.validate": false, - "scss.validate": false, "editor.codeActionsOnSave": { "source.fixAll.eslint": true }, "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true, "editor.wordWrap": "on", - "eslint.workingDirectories": ["schema", "client", "server"], - "i18n-ally.enabledFrameworks": ["i18next"], - "i18n-ally.localesPaths": ["client/public/locales"], - "i18n-ally.sourceLanguage": "en", - "i18n-ally.keystyle": "nested" -} + "eslint.workingDirectories": [ + "schema", + "client", + "server" + ], + "i18n-ally.enabledFrameworks": [ + "react" + ], + "i18n-ally.keystyle": "nested", + "i18n-ally.localesPaths": [ + "client/public/locales" + ], + "i18n-ally.namespace": true, + "i18n-ally.pathMatcher": "{locale}/{namespaces}.{ext}", + "i18n-ally.sortKeys": true, + "scss.validate": false +} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 57b5779c..3d3bb91a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,19 +1,20 @@ -## v3.0.0-beta.1 (2022-03-09) +# Changelog -### New feature: +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. -- **client/landing**: add testimonials section to landing page([`6f02048`](https://github.com/AmruthPillai/Reactive-Resume/commit/6f02048ebd29b2a5b53aa291e0cdd10df93d032f)) (by Amruth Pillai) -- **client**: add language selector, language detector and privacy/tos pages([`a131bb3`](https://github.com/AmruthPillai/Reactive-Resume/commit/a131bb36525bf85eaee5cdb65542289cdfcff36e)) (by Amruth Pillai) +## [3.0.0-beta.6](https://github.com/AmruthPillai/Reactive-Resume/compare/v3.0.0-beta.5...v3.0.0-beta.6) (2022-03-11) -### Bugs fixed: +### Features -- **pnpm**: install deps to update pnpm-lock.yaml([`54fd97b`](https://github.com/AmruthPillai/Reactive-Resume/commit/54fd97b5ecce629456a0dd1848981658136bbaa9)) (by Amruth Pillai) -- **mail.service**: use sendgrid api instead of nodemailer for better deliverability([`9df1219`](https://github.com/AmruthPillai/Reactive-Resume/commit/9df12194bf465d2f9c040c642036e05edef8d945)) (by Amruth Pillai) -- **printer.service**: add --disable-dev-shm-usage flag to chromium headless playwright browser([`e96b090`](https://github.com/AmruthPillai/Reactive-Resume/commit/e96b09090485fefc044dfc8e3daa9f52e123d946)) (by Amruth Pillai) -- **playwright**: use playwright docker image due to runtime error([`2696a54`](https://github.com/AmruthPillai/Reactive-Resume/commit/2696a54d176dd8821be97881447e075c05f9e8fb)) (by Amruth Pillai) -- **databasemodule**: make ssl optional, pass ca cert as base64 env([`c738f31`](https://github.com/AmruthPillai/Reactive-Resume/commit/c738f311dabdbe77770bb3c33959ac121d60019e)) (by Amruth Pillai) -- **i18n**: load locales from file system, instead of http-backend([`a4983ac`](https://github.com/AmruthPillai/Reactive-Resume/commit/a4983ac6bc35efee5b10de0768203dec9110b866)) (by Amruth Pillai) +* **lang:** add language switcher on the landing page, in the footer ([8bc7d25](https://github.com/AmruthPillai/Reactive-Resume/commit/8bc7d2599ef6af7a07bfbe886c43844152b0d9f7)) -### Performance improves: +### Bug Fixes -- **app**: working docker build stage, with github actions ci to push image([`5104ea6`](https://github.com/AmruthPillai/Reactive-Resume/commit/5104ea6438d5e37d6c591949d6b3861cef4295b7)) (by Amruth Pillai) +* **i18n:** add missing translation keys, update lang/locale logic ([7d8828a](https://github.com/AmruthPillai/Reactive-Resume/commit/7d8828a358d653bb162877a64c75028eb82678cd)) +* **webkit:** fix issue with webkit not supporting .at() ([2654cba](https://github.com/AmruthPillai/Reactive-Resume/commit/2654cba039eb73d33257c36fa90a52cabc9fda96)) + +## [3.0.0-beta.5](https://github.com/AmruthPillai/Reactive-Resume/compare/v3.0.0-beta.4...v3.0.0-beta.5) (2022-03-10) + +### Bug Fixes + +* **app:** fix issue with using swipelayout ([972e8b1](https://github.com/AmruthPillai/Reactive-Resume/commit/972e8b1bcf9ad44d8915bf23d189711672937bc0)) diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..26f5c650 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Amruth Pillai + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index c5c25d82..95f957c5 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,12 @@ # Reactive Resume +![Project Version](https://img.shields.io/github/package-json/v/AmruthPillai/Reactive-Resume?style=flat-square) +![Project License](https://img.shields.io/github/license/AmruthPillai/Reactive-Resume?style=flat-square) [![Docker Pulls](https://img.shields.io/docker/pulls/amruthpillai/reactive-resume?style=flat-square)](https://hub.docker.com/r/amruthpillai/reactive-resume) [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FAmruthPillai%2FReactive-Resume.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FAmruthPillai%2FReactive-Resume?ref=badge_shield) -## [Go to App](https://beta.rxresu.me) | [Docs](https://docs.rxresu.me) +## [Go to App](https://rxresu.me) | [Docs](https://docs.rxresu.me) Reactive Resume is a free and open source resume builder that’s built to make the mundane tasks of creating, updating and sharing your resume as easy as 1, 2, 3. With this app, you can create multiple resumes, share them with recruiters through a unique link and print as PDF, all for free, no advertisements, without losing the integrity and privacy of your data. @@ -15,13 +17,13 @@ You have complete control over what goes into your resume, how it looks, what co - Free, forever - No Advertising -- No Tracking (no 🍪s too) +- No User Tracking - Sync your data across devices +- Accessible in multiple languages - Import data from [LinkedIn](https://www.linkedin.com/), [JSON Resume](https://jsonresume.org/) - Manage multiple resumes with one account - Open Source (with large community support) - Send your resume to others with a unique sharable link -- Accessible in multiple languages, [help translate here](https://translate.rxresu.me/) - Pick any font from [Google Fonts](https://fonts.google.com/) to use on your resume - Choose from 6 vibrant templates and more coming soon - Export your resume to JSON or PDF format with just one click @@ -31,6 +33,15 @@ You have complete control over what goes into your resume, how it looks, what co - Tailor-made Backend and Database, isolated from Google, Amazon etc. - **Oh, and did I mention that it's free?** +## Languages + +- English +- German (Deutsch) +- Kannada (ಕನ್ನಡ) (@aksh1251) +- Tamil (தமிழ்) + +Help by [translating Reactive Resume](https://translate.rxresu.me) to your language! + ## Tutorial The docs include an extensive [Tutorial](https://docs.rxresu.me/tutorial) section which outline the features of Reactive Resume and help you through building your first resume on the app. @@ -41,9 +52,7 @@ For extensive information on how to build the app on your local machine, head ov ## Contributing -Please refer to the project's style and contribution guidelines for submitting pull requests. - -In general, this project follows the "fork-and-pull" Git workflow. +This project makes use of [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) style and workflow for commit messages to ensure that the CHANGELOG is auto-generated. In general, this project follows the "fork-and-pull" Git workflow. 1. **Fork** the repo on GitHub 2. **Clone** the project to your own machine @@ -61,19 +70,19 @@ Use the [GitHub Issues](https://github.com/AmruthPillai/Reactive-Resume/issues/n Reactive Resume would be nothing without the folks who supported me and kept the project alive in the beginning, and your cotinued support is what keeps me going. If you found Reactive Resume to be useful, helpful or just insightful and appreciate the effort I took to make the project, please consider donating as little or as much as your can. -[☕️ Buy me a coffee](https://www.buymeacoffee.com/AmruthPillai) +### [☕️ Buy me a coffee](https://www.buymeacoffee.com/AmruthPillai) | [💸 PayPal](https://paypal.me/RajaRajanA) ## Infrastructure -- [Next.js](), frontend -- [NestJS](), backend -- [PostgreSQL](), database -- [DigitalOcean](), infrastructure provider -- [Crowdin](), translation management platform +- [Next.js](https://nextjs.org/), frontend +- [NestJS](https://nestjs.com/), backend +- [PostgreSQL](https://www.postgresql.org/), database +- [DigitalOcean](https://www.digitalocean.com/), infrastructure provider +- [Crowdin](https://translate.rxresu.me/), translation management platform   - + diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 00000000..16dcd122 --- /dev/null +++ b/app/.gitignore @@ -0,0 +1,33 @@ +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Log/OS Files +*.log + +# Android Studio generated files and folders +captures/ +.externalNativeBuild/ +.cxx/ +*.apk +output.json + +# IntelliJ +*.iml +.idea/ +misc.xml +deploymentTargetDropDown.xml +render.experimental.xml + +# Keystore files +*.jks +*.keystore + +# Google Services (e.g. APIs or Firebase) +google-services.json + +# Android Profiling +*.hprof \ No newline at end of file diff --git a/app/app/.editorconfig b/app/app/.editorconfig new file mode 100644 index 00000000..86a14cae --- /dev/null +++ b/app/app/.editorconfig @@ -0,0 +1,8 @@ +root = true + +[*] +charset = utf-8 +indent_size = 4 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/app/app/.gitignore b/app/app/.gitignore new file mode 100644 index 00000000..956c004d --- /dev/null +++ b/app/app/.gitignore @@ -0,0 +1,2 @@ +/build +/release \ No newline at end of file diff --git a/app/app/build.gradle b/app/app/build.gradle new file mode 100644 index 00000000..801e4b95 --- /dev/null +++ b/app/app/build.gradle @@ -0,0 +1,46 @@ +plugins { + id 'com.android.application' + id 'org.jetbrains.kotlin.android' +} + +android { + compileSdk 32 + + defaultConfig { + applicationId "me.rxresu.app" + minSdk 21 + targetSdk 32 + versionCode 2 + versionName "1.0" + + resConfigs "en" + } + + buildTypes { + release { + minifyEnabled true + shrinkResources true + zipAlignEnabled true + + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = '1.8' + } + + buildFeatures { + viewBinding true + } +} + +dependencies { + implementation 'androidx.core:core-ktx:1.7.0' + implementation 'com.google.android.material:material:1.5.0' +} diff --git a/app/app/proguard-rules.pro b/app/app/proguard-rules.pro new file mode 100644 index 00000000..481bb434 --- /dev/null +++ b/app/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/app/app/src/main/AndroidManifest.xml b/app/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..2325060a --- /dev/null +++ b/app/app/src/main/AndroidManifest.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + diff --git a/app/app/src/main/ic_launcher-playstore.png b/app/app/src/main/ic_launcher-playstore.png new file mode 100644 index 00000000..ef2861c3 Binary files /dev/null and b/app/app/src/main/ic_launcher-playstore.png differ diff --git a/app/app/src/main/java/me/rxresu/app/MainActivity.kt b/app/app/src/main/java/me/rxresu/app/MainActivity.kt new file mode 100644 index 00000000..ba63ae56 --- /dev/null +++ b/app/app/src/main/java/me/rxresu/app/MainActivity.kt @@ -0,0 +1,76 @@ +package me.rxresu.app + +import android.annotation.SuppressLint +import android.graphics.Bitmap +import android.os.Bundle +import android.view.KeyEvent +import android.webkit.WebResourceError +import android.webkit.WebResourceRequest +import android.webkit.WebView +import android.webkit.WebViewClient +import androidx.appcompat.app.AppCompatActivity + +class MainActivity : AppCompatActivity() { + + private lateinit var webView: WebView + + private var isLoaded: Boolean = false + private var webURL = "https://rxresu.me" + + @SuppressLint("SetJavaScriptEnabled") + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + + webView = findViewById(R.id.webview) + + webView.settings.javaScriptEnabled = true + webView.settings.userAgentString = "Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Mobile Safari/537.36" + } + + override fun onResume() { + if (!isLoaded) loadWebView() + + super.onResume() + } + + private fun loadWebView() { + webView.loadUrl(webURL) + + webView.webViewClient = object : WebViewClient() { + override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean { + val url = request?.url.toString() + view?.loadUrl(url) + return super.shouldOverrideUrlLoading(view, request) + } + + override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) { + super.onPageStarted(view, url, favicon) + } + + override fun onPageFinished(view: WebView?, url: String?) { + isLoaded = true + super.onPageFinished(view, url) + } + + override fun onReceivedError(view: WebView, request: WebResourceRequest, error: WebResourceError) { + isLoaded = false + super.onReceivedError(view, request, error) + } + } + } + + override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean { + if (event.action == KeyEvent.ACTION_DOWN) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + if (webView.canGoBack()) { + webView.goBack() + } + + return true + } + } + + return super.onKeyDown(keyCode, event) + } +} diff --git a/app/app/src/main/res/layout/activity_main.xml b/app/app/src/main/res/layout/activity_main.xml new file mode 100644 index 00000000..b1ce2b18 --- /dev/null +++ b/app/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,15 @@ + + + + + + diff --git a/app/app/src/main/res/layout/content_main.xml b/app/app/src/main/res/layout/content_main.xml new file mode 100644 index 00000000..f4dc8711 --- /dev/null +++ b/app/app/src/main/res/layout/content_main.xml @@ -0,0 +1,18 @@ + + + + + + diff --git a/app/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..036d09bc --- /dev/null +++ b/app/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 00000000..036d09bc --- /dev/null +++ b/app/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 00000000..91830192 Binary files /dev/null and b/app/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/app/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/app/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..32312634 Binary files /dev/null and b/app/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png differ diff --git a/app/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 00000000..966baa42 Binary files /dev/null and b/app/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ diff --git a/app/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 00000000..fe4857c9 Binary files /dev/null and b/app/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/app/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/app/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..7b17b97f Binary files /dev/null and b/app/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png differ diff --git a/app/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/app/app/src/main/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 00000000..063a4c84 Binary files /dev/null and b/app/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ diff --git a/app/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 00000000..25d8bf42 Binary files /dev/null and b/app/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/app/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/app/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..ae0fa803 Binary files /dev/null and b/app/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png differ diff --git a/app/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/app/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 00000000..14424fc3 Binary files /dev/null and b/app/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/app/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 00000000..3d3d5b8d Binary files /dev/null and b/app/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/app/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/app/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..7c5959f4 Binary files /dev/null and b/app/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png differ diff --git a/app/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 00000000..618a6332 Binary files /dev/null and b/app/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/app/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 00000000..4f931699 Binary files /dev/null and b/app/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/app/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/app/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..4ddb06f7 Binary files /dev/null and b/app/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png differ diff --git a/app/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 00000000..862a03de Binary files /dev/null and b/app/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ diff --git a/app/app/src/main/res/values/ic_launcher_background.xml b/app/app/src/main/res/values/ic_launcher_background.xml new file mode 100644 index 00000000..c5d5899f --- /dev/null +++ b/app/app/src/main/res/values/ic_launcher_background.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + \ No newline at end of file diff --git a/app/app/src/main/res/values/strings.xml b/app/app/src/main/res/values/strings.xml new file mode 100644 index 00000000..14dd8a46 --- /dev/null +++ b/app/app/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ + + Reactive Resume + diff --git a/app/app/src/main/res/values/themes.xml b/app/app/src/main/res/values/themes.xml new file mode 100644 index 00000000..ea6cbf29 --- /dev/null +++ b/app/app/src/main/res/values/themes.xml @@ -0,0 +1,12 @@ + + + +