Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop sync with main #106

Merged
merged 14 commits into from
Apr 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
264 changes: 264 additions & 0 deletions .github/ISSUE_TEMPLATE/DMP_2024.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,264 @@
name: DMP 2024 Project Template
description: List a new project for Dedicated Mentoring Program (DMP) 2024
title: '[DMP 2024]: '
labels: ['DMP 2024']
body:
- type: textarea
id: ticket-description
validations:
required: true
attributes:
label: Ticket Contents
value: |
## Description
[Provide a brief description of the feature, including why it is needed and what it will accomplish.]

- type: textarea
id: ticket-goals
validations:
required: true
attributes:
label: Goals & Mid-Point Milestone
description: List the goals of the feature. Please add the goals that must be achieved by Mid-point check-in i.e 1.5 months into the coding period.
value: |
## Goals
- [ ] [Goal 1]
- [ ] [Goal 2]
- [ ] [Goal 3]
- [ ] [Goal 4]
- [ ] [Goals Achieved By Mid-point Milestone]

- type: textarea
id: ticket-setup
attributes:
label: Setup/Installation
description: Please list or link setup or installation guide (if any)

- type: textarea
id: ticket-expected-outcome
attributes:
label: Expected Outcome
description: Describe in detail what the final product or result should look like and how it should behave.

- type: textarea
id: ticket-acceptance-criteria
attributes:
label: Acceptance Criteria
description: List the acceptance criteria for this feature.

- type: textarea
id: ticket-implementation-details
validations:
required: true
attributes:
label: Implementation Details
description: List any technical details about the proposed implementation, including any specific technologies that will be used.

- type: textarea
id: ticket-mockups
attributes:
label: Mockups/Wireframes
description: Include links to any visual aids, mockups, wireframes, or diagrams that help illustrate what the final product should look like. This is not always necessary, but can be very helpful in many cases.

- type: input
id: ticket-product
attributes:
label: Product Name
placeholder: Enter Product Name
validations:
required: true

- type: dropdown
id: ticket-organisation
attributes:
label: Organisation Name
description: Enter Organisation Name
multiple: false
options:
- Bandhu
- Blockster Labs (CREDEBL)
- Civis
- Dhwani
- Dhiway
- EGov
- EkShop Marketplace
- FIDE
- If Me
- Key Education Foundation
- Norwegian Meteorological Institute
- Planet Read
- Project Second Chance
- Reap Benefit
- SamagraX
- ShikshaLokam
- Tech4Dev
- Tekdi
- The Mifos Initiative
- Tibil
- Ushahidi
- Arghyam
- Piramal Swasthya Management Research Institute
validations:
required: true

- type: dropdown
id: ticket-governance-domain
attributes:
label: Domain
options:
- ⁠Healthcare
- ⁠Education
- Financial Inclusion
- ⁠Livelihoods
- ⁠Skilling
- ⁠Learning & Development
- ⁠Agriculture
- ⁠Service Delivery
- Open Source Library
- Water
- Identity & Digital Credentialing
validations:
required: true

- type: dropdown
id: ticket-technical-skills-required
attributes:
label: Tech Skills Needed
description: Select the technologies needed for this ticket (use Ctrl or Command to select multiple)
multiple: true
options:
- .NET
- Angular
- Artificial Intelligence
- ASP.NET
- Astro.js
- AWS
- Babel
- Bootstrap
- C#
- Chart.js
- CI/CD
- Computer Vision
- CORS
- cURL
- Cypress
- D3.js
- Database
- Debugging
- Deno
- Design
- DevOps
- Django
- Docker
- Electron
- ESLint
- Express.js
- Feature
- Flask
- Go
- GraphQL
- HTML
- Ionic
- Jest
- Java
- JavaScript
- Jenkins
- JWT
- Kubernetes
- Laravel
- Machine Learning
- Maintenance
- Markdown
- Material-UI
- Microservices
- MongoDB
- Mobile
- Mockups
- Mocha
- Natural Language Processing
- NATS Messaging
- NestJS
- Next.js
- Node.js
- NUnit
- OAuth
- Performance Improvement
- Prettier
- Python
- Question
- React
- React Native
- Redux
- RESTful APIs
- Ruby
- Ruby on Rails
- Rust
- Scala
- Security
- Selenium
- SEO
- Serverless
- Solidity
- Spring Boot
- SQL
- Swagger
- Tailwind CSS
- Test
- Testing Library
- Three.js
- TypeScript
- UI/UX/Design
- Virtual Reality
- Vue.js
- WebSockets
- Webpack
- Other
validations:
required: true

- type: textarea
id: ticket-mentors
attributes:
label: Mentor(s)
description: Please tag relevant mentors for the ticket
validations:
required: true

- type: dropdown
id: ticket-category
attributes:
label: Category
description: Choose the categories that best describe your ticket
multiple: true
options:
- API
- Analytics
- Accessibility
- Backend
- Breaking Change
- Beginner Friendly
- Configuration
- CI/CD
- Database
- Data Science
- Deprecation
- Documentation
- Deployment
- Frontend
- Internationalization
- Localization
- Machine Learning
- Maintenance
- Mobile
- Performance Improvement
- Question
- Refactoring
- Research
- Needs Reproduction
- SEO
- Security
- Testing
- AI
- Other
validations:
required: true
2 changes: 1 addition & 1 deletion .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Setup NodeJS
uses: actions/setup-node@v3
with:
node-version: 18
node-version: 18.19.0
cache: 'yarn'

- name: Install dependencies
Expand Down
102 changes: 67 additions & 35 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,48 +1,80 @@
FROM ubuntu:20.04
# FROM ubuntu:20.04

ENV DEBIAN_FRONTEND noninteractive
# ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update -y && apt-get install -y \
software-properties-common \
apt-transport-https \
curl \
# Only needed to build indy-sdk
build-essential
# RUN apt-get update -y && apt-get install -y \
# software-properties-common \
# apt-transport-https \
# curl \
# # Only needed to build indy-sdk
# build-essential

# libindy
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys CE7709D068DB5E88
RUN add-apt-repository "deb https://repo.sovrin.org/sdk/deb bionic stable"
# # nodejs
# # RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
# # RUN /bin/bash -c "source /root/.nvm/nvm.sh && nvm install 18 && nvm use 18"

# nodejs
# RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
# RUN /bin/bash -c "source /root/.nvm/nvm.sh && nvm install 18 && nvm use 18"
# RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash -

RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
# # yarn
# RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
# echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list

# yarn
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
# # install depdencies
# RUN apt-get update -y && apt-get install -y --allow-unauthenticated \
# nodejs

# install depdencies
RUN apt-get update -y && apt-get install -y --allow-unauthenticated \
libindy \
nodejs
# # Install yarn seperately due to `no-install-recommends` to skip nodejs install
# RUN apt-get install -y --no-install-recommends yarn

# RUN yarn global add patch-package
# # AFJ specifc setup
# WORKDIR /www

# COPY bin ./bin
# COPY package.json ./package.json
# COPY patches ./patches

# RUN yarn install --production

# COPY build ./build
# # COPY libindy_vdr.so /usr/lib/
# # COPY libindy_vdr.so /usr/local/lib/

# ENTRYPOINT [ "./bin/afj-rest.js", "start" ]


# Stage 1: Builder stage
FROM node:18.19.0 AS builder

WORKDIR /app

# Copy package.json and yarn.lock files
COPY package.json yarn.lock ./

# Install dependencies
RUN yarn install --frozen-lockfile

# Copy the rest of the application code
COPY . .

# Install yarn seperately due to `no-install-recommends` to skip nodejs install
RUN apt-get install -y --no-install-recommends yarn

RUN yarn global add patch-package
# AFJ specifc setup
WORKDIR /www

COPY bin ./bin
COPY package.json ./package.json
COPY patches ./patches
# Build the application
RUN yarn build

# Stage 2: Production stage
FROM node:18.19.0-slim

WORKDIR /app

# Copy built files and node_modules from the builder stage
COPY --from=builder /app/build ./build
COPY --from=builder /app/bin ./bin
COPY --from=builder /app/package.json ./
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/patches ./patches

RUN yarn install --production
# Set entry point
ENTRYPOINT ["node", "./bin/afj-rest.js", "start"]

COPY build ./build
COPY libindy_vdr.so /usr/lib/
COPY libindy_vdr.so /usr/local/lib/

ENTRYPOINT [ "./bin/afj-rest.js", "start" ]
Binary file removed libindy_vdr.so
Binary file not shown.
Loading
Loading