Skip to content
Merged

Dev #25

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
adc19df
feat: add copy to clipboard functionality for username and decrypted …
amankrs21 Jan 3, 2025
0e28e4b
feat: add deleteUser function to remove user and associated data from…
amankrs21 Jan 3, 2025
f4a3488
feat: add deleteUser route to allow user deletion via API
amankrs21 Jan 3, 2025
3f69757
feat: reset decrypted state before decryption and improve accessibili…
amankrs21 Jan 5, 2025
bf58811
feat: enhance accessibility for copy actions in Vault with keyboard s…
amankrs21 Jan 5, 2025
5e7ac26
feat: update CircularProgress color to primary in Loading component
amankrs21 Jan 5, 2025
5525e39
SONAR: [FIX] enhance button accessibility and styling in Vault component
amankrs21 Jan 5, 2025
4f430f9
feat: update CI/CD pipeline configuration for improved deployment pro…
amankrs21 Jan 26, 2025
28fda03
feat: add meta tags for author, keywords, and description in index.html
amankrs21 Feb 13, 2025
196e641
feat: update package.json to include test script and devDependencies …
amankrs21 Feb 14, 2025
fdbd976
feat: replace TopLogo.png with new header images and update AuthProvi…
amankrs21 Feb 14, 2025
fbe1aaf
feat: implement account deletion functionality with confirmation dialog
amankrs21 Feb 14, 2025
d017a76
feat: update header component with new logo and styling adjustments
amankrs21 Feb 14, 2025
36589fe
feat: set up Express server with MongoDB connection and CORS configur…
amankrs21 Feb 14, 2025
701339b
feat: enhance vault functionality with password decryption and UI imp…
amankrs21 Feb 14, 2025
61dffe3
feat: enhance loading component with dynamic message and improved sty…
amankrs21 Feb 14, 2025
46bcc7e
feat: enhance header component with tooltips and improved logout func…
amankrs21 Feb 14, 2025
1292865
feat: add dynamic background images to login and register pages
amankrs21 Feb 14, 2025
9bf9e6b
Merge pull request #24 from amankrs21/main
amankrs21 Feb 14, 2025
a77e296
removed test files
amankrs21 Feb 14, 2025
bcbcb31
fix: update password input component to use slotProps for end adornment
amankrs21 Feb 14, 2025
516b531
chore: rename CI/CD pipeline for clarity and specificity
amankrs21 Feb 14, 2025
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
262 changes: 131 additions & 131 deletions .github/workflows/pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,131 +1,131 @@
name: CI/CD Pipeline for SonarCloud, Azure Web App, and Cloudflare Pages

on:
push:
branches:
- main
- dev
pull_request:
branches:
- main
workflow_dispatch:

jobs:
# 1. SonarCloud Analysis Job
sonarcloud-analysis:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '20.x'

- name: Install dependencies
run: npm install
working-directory: ./client

- name: Run SonarCloud analysis
uses: SonarSource/sonarcloud-github-action@4006f663ecaf1f8093e8e4abb9227f6041f52216
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
with:
args:
-Dsonar.projectKey=amankrs21_Secure-Vault
-Dsonar.organization=amankrs21
projectBaseDir: .


# 2. Express App Hosting Job (depends on SonarCloud success, but only runs on push to `main`)
express-deployment:
runs-on: ubuntu-latest
needs: sonarcloud-analysis
if: github.ref == 'refs/heads/main'

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '20.x'

- name: Install dependencies for Express app
run: npm install
working-directory: ./server

- name: Zip artifact for deployment
run: zip release.zip ./* -r

- name: Upload artifact for deployment job
uses: actions/upload-artifact@v4
with:
name: node-app
path: release.zip


# 3. Deploy to Azure Web App (depends on Express app deployment success)
deploy-to-azure:
runs-on: ubuntu-latest
needs: express-deployment
environment:
name: 'Production'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
permissions:
id-token: write
if: github.ref == 'refs/heads/main'

steps:
- name: Download artifact from build job
uses: actions/download-artifact@v4
with:
name: node-app

- name: Unzip artifact for deployment
run: unzip release.zip

- name: Login to Azure
uses: azure/login@v2
with:
client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_E50E2B172F2A4C83B498DFFF0F3BA19B }}
tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_5C92EA594F3548D9B537751239275D14 }}
subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_3FC292CDD1DB4032B184C9B43ABDAB1C }}

- name: 'Deploy to Azure Web App'
id: deploy-to-webapp
uses: azure/webapps-deploy@v3
with:
app-name: 'secure-vault'
slot-name: 'Production'
package: ./server


# 4. React App Hosting to Cloudflare (depends on Azure Web App deployment success)
react-deployment:
runs-on: ubuntu-latest
needs: deploy-to-azure
if: github.ref == 'refs/heads/main'

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Install dependencies for React app
run: npm install
working-directory: ./client

- name: Build React app
run: npm run build
working-directory: ./client

- name: Deploy to Cloudflare Pages
uses: cloudflare/pages-action@v1
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: 'securevault'
directory: 'client/dist'
name: CI/CD Pipeline for Secure-Vault
on:
push:
branches:
- main
- dev
pull_request:
branches:
- main
workflow_dispatch:
jobs:
# 1. SonarCloud Analysis Job
sonarcloud-analysis:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '20.x'
- name: Install dependencies
run: npm install
working-directory: ./client
- name: Run SonarCloud analysis
uses: SonarSource/sonarcloud-github-action@4006f663ecaf1f8093e8e4abb9227f6041f52216
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
with:
args:
-Dsonar.projectKey=amankrs21_Secure-Vault
-Dsonar.organization=amankrs21
projectBaseDir: .
# 2. Express App Hosting Job (depends on SonarCloud success, but only runs on push to `main`)
express-deployment:
runs-on: ubuntu-latest
needs: sonarcloud-analysis
if: github.ref == 'refs/heads/main'
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '20.x'
- name: Install dependencies for Express app
run: npm install
working-directory: ./server
- name: Zip artifact for deployment
run: zip release.zip ./* -r
- name: Upload artifact for deployment job
uses: actions/upload-artifact@v4
with:
name: node-app
path: release.zip
# 3. Deploy to Azure Web App (depends on Express app deployment success)
deploy-to-azure:
runs-on: ubuntu-latest
needs: express-deployment
environment:
name: 'Production'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
permissions:
id-token: write
if: github.ref == 'refs/heads/main'
steps:
- name: Download artifact from build job
uses: actions/download-artifact@v4
with:
name: node-app
- name: Unzip artifact for deployment
run: unzip release.zip
- name: Login to Azure
uses: azure/login@v2
with:
client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_E50E2B172F2A4C83B498DFFF0F3BA19B }}
tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_5C92EA594F3548D9B537751239275D14 }}
subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_3FC292CDD1DB4032B184C9B43ABDAB1C }}
- name: 'Deploy to Azure Web App'
id: deploy-to-webapp
uses: azure/webapps-deploy@v3
with:
app-name: 'secure-vault'
slot-name: 'Production'
package: ./server
# 4. React App Hosting to Cloudflare (depends on Azure Web App deployment success)
react-deployment:
runs-on: ubuntu-latest
needs: deploy-to-azure
if: github.ref == 'refs/heads/main'
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install dependencies for React app
run: npm install
working-directory: ./client
- name: Build React app
run: npm run build
working-directory: ./client
- name: Deploy to Cloudflare Pages
uses: cloudflare/pages-action@v1
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
projectName: 'securevault'
directory: 'client/dist'
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ dist-ssr
*.sln
*.sw?
*.vite
server/src/test/

# ignore all .env files
.env*
Expand Down
9 changes: 8 additions & 1 deletion client/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,15 @@

<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/TopLogo.png" />
<meta name="author" content="Secure-Vault Team" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="keywords"
content="Secure-Vault, SecureVault, Cloudflare, Cloudflare Pages, Password Manager, Secure, Vault, Password, Manager, Passwords, Security" />
<meta name="description"
content="Secure-Vault is a secure and private platform for storing your passwords and other sensitive information." />

<link rel="icon" type="image/png" href="/head-main.png" />

<title>SecureVault</title>
</head>

Expand Down
Loading