Skip to content

Commit

Permalink
chore: small changes
Browse files Browse the repository at this point in the history
  • Loading branch information
MishraSomesh001 committed Mar 23, 2024
1 parent 068fbb5 commit fd4b9bb
Show file tree
Hide file tree
Showing 7 changed files with 164 additions and 66 deletions.
27 changes: 0 additions & 27 deletions .github/Contributor_Guide/Contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,34 +31,7 @@ If you want to contribute to smartbid, submit a pull request.
- url: `https://github.com/OPCODE-Open-Spring-Fest/smartbid/compare/branch...YOURGITHUBUSERNAME:smartbid:BRANCH?quick_pull=1&template=pr.md`

### Requirements
To run *smartbid*, you need the following requirements:

- [Node.js](https://nodejs.org/)


### Setup

To set up *smartbid* on your local machine, follow these steps:

## Installation Steps

1. Fork the repository:
- Click the "Fork" button at the top right corner of this repository's page on GitHub. This will create a copy of the repository in your GitHub account.

2. Clone the forked repository:

```bash
git clone https://github.com/<yourusername>/smartbid.git
```


3. Navigate to the project directory:
```bash
cd smartbid
```

4. Install Node.js dependencies:
```bash
npm i
```
Congratulations! You have successfully set up *smartbid* on your machine.
70 changes: 37 additions & 33 deletions .github/Contributor_Guide/Project_Tour.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,40 @@
# Project Tour

In the 'Contracts' folder, you'll find a single file with a '.sol' extension. This file is where you should make all your changes. Simply open this file to access the contract code and update it as needed. If you have any questions or need assistance with the changes, feel free to ask!.

```bash
| .gitignore
| CODE_OF_CONDUCT.md
| commitlint.config.js
| package-lock.json
| package.json
| README.md
|
+---.github
| +---Contributor_Guide
| | commiting.md
| | Contributing.md
| | Project_Tour.md
| |
| +---ISSUE_TEMPLATE
| | bug_report.yaml
| | feature_request.yaml
| |
| +---PULL_REQUEST_TEMPLATE
| | pr.md
| |
| \---workflows
| commitlint.yaml
| prmerged.yaml
|
+---.husky
| commit-msg
| pre-commit
|
\---contracts
smartbid.sol
```
In the 'Contracts' folder, you'll find a single file with a '.sol' extension. This file is where you should make all your changes. Simply open this file to access the contract code and update it as needed. If you have any questions or need assistance with the changes, feel free to ask!


│ .gitignore
│ CODE_OF_CONDUCT.md
│ commitlint.config.js
│ package-lock.json
│ package.json
│ README.md
├───.github
│ │ pull_request_template.md
│ │
│ ├───Contributor_Guide
│ │ commiting.md
│ │ Contributing.md
│ │ Project_Tour.md
│ │
│ ├───ISSUE_TEMPLATE
│ │ bug_report.yaml
│ │ feature_request.yaml
│ │
│ ├───PULL_REQUEST_TEMPLATE
│ │ pr.md
│ │
│ └───workflows
│ checklabels.yaml
│ commitlint.yaml
│ label-checker.js
│ prmerged.yaml
├───.husky
│ commit-msg
│ pre-commit
└───contracts
smartbid.sol
19 changes: 19 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@

## Description

> Give a brief description of the pull request.
## Semver Changes

- [ ] Patch (bug fix, no new features)
- [ ] Minor (new features, no breaking changes)
- [ ] Major (breaking changes)

## Issues

> List any issues that this pull request closes.
## Checklist

- [ ] I have read the [Contributing Guidelines](../Contributor_Guide/Contruting.md).

21 changes: 21 additions & 0 deletions .github/workflows/checklabels.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Label Checker

on:
pull_request:
types: [opened, edited, synchronize, reopened, labeled, unlabeled]

jobs:
check-labels:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 16
- name: Install dependencies
run: npm install @actions/github @actions/core
- name: Run Label Checker
run: node .github/workflows/label-checker.js
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
42 changes: 42 additions & 0 deletions .github/workflows/label-checker.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import { getOctokit, context } from '@actions/github';
import { setFailed } from '@actions/core';

async function run() {
try {
const token = process.env.GITHUB_TOKEN;
const octokit = new getOctokit(token);

const pullRequest = context.payload.pull_request;
const owner = pullRequest.base.repo.owner.login;
const repo = pullRequest.base.repo.name;
const pullNumber = pullRequest.number;

const { data: labels } = await octokit.rest.issues.listLabelsOnIssue({
owner,
repo,
issue_number: pullNumber,
});

const labelNames = labels.map((label) => label.name);

const requiredLabels = [
['Type:Easy', 'Type:Medium', 'Type:Hard'],
['Semver:major', 'Semver:minor', 'Semver:patch'],
['PR:Accept'],
];

const hasRequiredLabels = requiredLabels.every((labelGroup) =>
labelGroup.some((label) => labelNames.includes(label))
);

if (!hasRequiredLabels) {
setFailed(
'This pull request must have at least one label from each of the following groups: Type (Easy, Medium, Hard), Semver (Major, Minor, Patch), and PR:Accept.'
);
}
} catch (error) {
setFailed(error.message);
}
}

run();
6 changes: 5 additions & 1 deletion .github/workflows/prmerged.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,18 @@ jobs:
env:
PULL_REQUEST_OWNER: ${{ github.event.pull_request.user.login }}
PULL_REQUEST_LABELS: ${{ join(github.event.pull_request.labels.*.name, ', ') }}
REPOSITORY_NAME: ${{ github.event.repository.name }}
REPOSITORY_URL: ${{ github.event.repository.html_url }}
run: |
echo "::set-output name=owner::$PULL_REQUEST_OWNER"
echo "::set-output name=labels::$PULL_REQUEST_LABELS"
echo "::set-output name=repo_name::$REPOSITORY_NAME"
echo "::set-output name=repo_url::$REPOSITORY_URL"
- name: Send Data to API
env:
API_URL: https://osf-api.onrender.com/api/prmerged
API_AUTH_TOKEN: ${{ secrets.API_AUTH_TOKEN }}
run: |
payload=$(echo '{"owner":"${{ steps.get-pr-data.outputs.owner }}","labels":"${{ steps.get-pr-data.outputs.labels }}"}' | jq -R -s .)
payload=$(echo '{"owner":"${{ steps.get-pr-data.outputs.owner }}","labels":"${{ steps.get-pr-data.outputs.labels }}","repository_name":"${{ steps.get-pr-data.outputs.repo_name }}","repository_url":"${{ steps.get-pr-data.outputs.repo_url }}"}')
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $API_AUTH_TOKEN" -d "$payload" "$API_URL"
45 changes: 40 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,46 @@
# About The Project
# SMART BID

## Introduction ✨

"SmartBid" is blockchain based auction like system that offers enhanced transparency, security, and efficiency compared to traditional methods. In a blockchain-based auction, each item or asset up for bidding is represented as a unique digital token on the blockchain. Participants in the auction can place bids and view the entire bid history in real-time, ensuring transparency and trust in the process.

Blockchain's immutable ledger ensures that once a bid is recorded, it cannot be altered or deleted, preventing fraud and manipulation. Smart contracts, self-executing agreements stored on the blockchain, govern the auction rules and automatically execute transactions once predefined conditions are met, such as the end of the bidding period or reaching a winning bid.
## Technologies Used 🧑‍💻

- Solidity

## Contact 📱

If you have any questions or feedback, please reach out to us at [email protected] 📧

### Setup

To set up **Smart Bid** on your local machine, follow these steps:

1. Fork the repository:

- Click the "Fork" button at the top right corner of this repository's page on GitHub. This will create a copy of the repository in your GitHub account.

2. Clone the forked repository:

```bash
git clone https://github.com/<yourusername>/ballot_block.git
```

3. Navigate to the project directory:

```bash
cd smartbid
```

The decentralized nature of blockchain technology eliminates the need for intermediaries like auction houses or brokers, reducing costs and increasing accessibility to a global audience. Additionally, blockchain-based auctions enable instant settlement of transactions, removing the delays associated with traditional payment processing methods.
4. Install Node.js dependencies(make sure node is installed on your laptop):

Furthermore, blockchain technology allows for the tokenization of assets, enabling fractional ownership and the ability to trade assets seamlessly. This opens up new possibilities for auctions of high-value assets, such as real estate or artwork, by allowing investors to purchase fractions of these assets, making them more accessible to a broader range of participants.
```bash
npm i
```
5. Open the contract folder and copy all the contents of the ballot_block.sol file and paste it on remix (or you can use VS Code but remix ide is recommended). Remix ide(link) : http://lnkiy.in/Remix_ide
6. Create a new branch for your feature or bug fix.
7. Make your changes and commit them.
8. Push to the branch.
9. Submit a pull request with the issue number.

Overall, blockchain-based auctions revolutionize the auction industry by providing a transparent, secure, and efficient platform for buying and selling assets, ultimately benefiting both sellers and buyers alike.
You are good to go to make your contribution!! All the best!.

0 comments on commit fd4b9bb

Please sign in to comment.