-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from prasadhonrao/development
Development
- Loading branch information
Showing
170 changed files
with
16,047 additions
and
701 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
## Description | ||
|
||
Please include a summary of the changes and the purpose of this pull request. | ||
|
||
- **Related Issues:** (Link any issues this PR addresses, e.g., `Fixes #123` or `Closes #456`) | ||
- **Type of change:** | ||
- [ ] Bug fix | ||
- [ ] New feature | ||
- [ ] Improvement | ||
- [ ] Documentation update | ||
|
||
## Checklist | ||
|
||
- [ ] My code follows the style guidelines of this project. | ||
- [ ] I have performed a self-review of my code. | ||
- [ ] I have commented on my code, particularly in hard-to-understand areas. | ||
- [ ] I have made corresponding changes to the documentation. | ||
- [ ] I have added tests that prove my fix is effective or that my feature works. | ||
- [ ] All new and existing tests passed. | ||
|
||
## Screenshots (if applicable) | ||
|
||
Please provide screenshots or videos of the new behavior or changes (if applicable). | ||
|
||
## Additional Information | ||
|
||
Include any other relevant information or context here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
name: API - Continuous Deployment | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
paths: | ||
- 'api/**' | ||
workflow_dispatch: | ||
|
||
env: | ||
DOCKER_IMAGE: prasadhonrao/devcamper-api | ||
AZURE_WEBAPP_NAME: devcamperapi | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v1 | ||
|
||
- name: Log in to Docker Hub | ||
uses: docker/login-action@v1 | ||
with: | ||
username: ${{ secrets.DOCKER_USERNAME }} | ||
password: ${{ secrets.DOCKER_PASSWORD }} | ||
|
||
- name: Build and push Docker image | ||
run: | | ||
docker build -t ${{ env.DOCKER_IMAGE }}:${{ github.sha }} -f api/Dockerfile api | ||
docker tag ${{ env.DOCKER_IMAGE }}:${{ github.sha }} ${{ env.DOCKER_IMAGE }}:latest | ||
docker push ${{ env.DOCKER_IMAGE }}:${{ github.sha }} | ||
docker push ${{ env.DOCKER_IMAGE }}:latest | ||
deploy: | ||
runs-on: ubuntu-latest | ||
needs: build | ||
|
||
steps: | ||
- name: Log in to Azure | ||
uses: azure/login@v2 | ||
with: | ||
creds: ${{ secrets.AZURE_CREDENTIALS }} | ||
|
||
- name: Deploy to Azure Web App | ||
uses: azure/webapps-deploy@v2 | ||
with: | ||
app-name: ${{ env.AZURE_WEBAPP_NAME }} | ||
images: '${{ env.DOCKER_IMAGE }}:latest' | ||
|
||
notify: | ||
runs-on: ubuntu-latest | ||
needs: deploy | ||
if: always() | ||
|
||
steps: | ||
- name: Send email notification | ||
uses: dawidd6/action-send-mail@v3 | ||
with: | ||
server_address: smtp.gmail.com | ||
server_port: 587 | ||
username: ${{ secrets.GMAIL_USERNAME }} | ||
password: ${{ secrets.GMAIL_PASSWORD }} | ||
subject: '${{ job.status }}: Deployment Notification' | ||
body: | | ||
The deployment has ${{ job.status }}! | ||
Repository: ${{ github.repository }} | ||
Branch: ${{ github.ref }} | ||
Commit: ${{ github.sha }} | ||
Author: ${{ github.actor }} | ||
Workflow: ${{ github.workflow }} | ||
Job: ${{ github.job }} | ||
Run ID: ${{ github.run_id }} | ||
Run Number: ${{ github.run_number }} | ||
Logs: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | ||
to: ${{ secrets.NOTIFY_EMAIL }} | ||
from: ${{ secrets.GMAIL_USERNAME }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,129 @@ | ||
name: API - Continuous Integration | ||
|
||
on: | ||
push: | ||
branches: | ||
- development | ||
paths: | ||
- 'api/**' | ||
pull_request: | ||
branches: | ||
- development | ||
paths: | ||
- 'api/**' | ||
workflow_dispatch: | ||
|
||
jobs: | ||
lint: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Set up Node.js | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: '20' | ||
|
||
- name: Install dependencies | ||
run: npm install --prefix api | ||
|
||
- name: Run linter | ||
run: | | ||
export PATH=$(pwd)/api/node_modules/.bin:$PATH | ||
npm run lint --prefix api | ||
dependency-check: | ||
runs-on: ubuntu-latest | ||
needs: lint | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Set up Node.js | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: '20' | ||
|
||
- name: Install dependencies | ||
run: npm install --prefix api | ||
|
||
- name: Run dependency check | ||
run: npm audit --audit-level=high --prefix api | ||
|
||
security: | ||
runs-on: ubuntu-latest | ||
needs: dependency-check | ||
permissions: | ||
actions: read | ||
contents: read | ||
security-events: write | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Set up Node.js | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: '20' | ||
|
||
- name: Install dependencies | ||
run: npm install --prefix api | ||
|
||
- name: Initialize CodeQL | ||
uses: github/codeql-action/init@v2 | ||
with: | ||
languages: javascript | ||
|
||
- name: Autobuild | ||
uses: github/codeql-action/autobuild@v2 | ||
|
||
- name: Perform CodeQL Analysis | ||
uses: github/codeql-action/analyze@v2 | ||
|
||
test: | ||
runs-on: ubuntu-latest | ||
needs: security | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Set up Node.js | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: '20' | ||
|
||
- name: Install dependencies | ||
run: npm install --prefix api | ||
|
||
- name: Run tests | ||
run: npm test --prefix api | ||
|
||
code-coverage: | ||
runs-on: ubuntu-latest | ||
needs: test | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
|
||
- name: Set up Node.js | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: '20' | ||
|
||
- name: Install dependencies | ||
run: npm install --prefix api | ||
|
||
- name: Run tests with coverage | ||
run: npm run test --prefix api -- --coverage | ||
|
||
- name: Upload coverage report | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: coverage-report | ||
path: api/coverage |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,6 +2,7 @@ | |
"cSpell.words": [ | ||
"bootcamp", | ||
"bootcamps", | ||
"devcamper", | ||
"dsphere", | ||
"Geocoder", | ||
"mapquest", | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
node_modules | ||
npm-debug.log | ||
.dockerignore | ||
.git | ||
.gitignore | ||
_postman | ||
tests | ||
eslint.config.js | ||
README.md | ||
coverage |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Use the official Node.js image as the base image | ||
FROM node:20 | ||
|
||
# Set the working directory inside the container | ||
WORKDIR /usr/src/app | ||
|
||
# Copy package.json and package-lock.json to the working directory | ||
COPY package*.json ./ | ||
|
||
# Install dependencies | ||
RUN npm install | ||
|
||
# Copy the rest of the application code to the working directory | ||
COPY . . | ||
|
||
# Expose the port the app runs on | ||
EXPOSE 3000 | ||
|
||
# Define the command to run the application | ||
CMD ["npm", "start"] |
Oops, something went wrong.