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

Learn.md updated #40

Merged
merged 2 commits into from
May 24, 2024
Merged
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
113 changes: 113 additions & 0 deletions Learn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
# Learn

This document provides instructions on how to set up and build the project locally.
NPB_VOTE_WEB3 is a blockchain-based E-Voting system that leverages web technologies and the Ethereum blockchain. The project is built using a tech stack that includes JavaScript, CSS, SCSS, HTML, EJS, and Solidity.

Check this video for the details: [https://youtu.be/qKsu3-Jkas0?feature=shared](https://youtu.be/HMHsHCvfaNw)


## Table of Contents
- [Getting Started](#getting-started)
- [Contributing Guidelines](#contributing-guidelines)
- [Issue Management](#issue-management)
- [Communication and Collaboration](#communication-and-collaboration)
- [Deadline and Completion](#deadline-and-completion)
- [Quality and Learning](#quality-and-learning)

## Getting Started

Follow these steps to get started with NPB_VOTE_WEB3:

1. Clone the repository:

```bash
git clone https://github.com/jaibhedia/NPB_VOTE_WEB3.git
```
```
cd NPB_VOTE_WEB3
```
2. **Install dependencies:**

```bash
npm install
```
3. **Configure the application:**

Update configuration files if necessary.
Ensure the Ethereum wallet connection details are set.

4. **Run the application:**

To run the frontend server use:
```bash
npm run dev
```

6. **Access the application:**

Open your web browser and navigate to http://localhost:3000 (or a different port if configured).


If you would like to contribute to the project, please follow our contribution guidelines.

## Contributing Guidelines

Before diving into the learning resources, please familiarize yourself with the following contributing guidelines:

- Participants/contributors must comment on issues they wish to work on.
- Issues will be assigned on a first-come, first-serve basis by mentors or the Project Administrator (PA).
- Participants can open new issues using the provided template, but these need verification and labeling by a mentor or PA.
- Ensure issues are assigned to you before starting work.
- Each participant can work on a maximum of one issue at a time.
- Don't work on issues already assigned to others.
- Discuss issues with the team before starting work.
- Explain your approach to solving any issue in the comments for better understanding.
- Pull requests will be merged after review by a mentor or PA.
- Create PRs from branches other than `main`.
- Include a descriptive summary of your work in the PR description.
- Use the format `Fixes: issue number` in your commit message when creating a pull request.
- Complete assigned issues within the specified deadline. Failure to do so may result in reassignment.
- Follow project guidelines and coding style.
- Aim for structured and optimized code.
- Mistakes are allowed and part of the learning process!


## Issue Management

Issues are managed as follows:

- Participants must comment on issues they wish to work on.
- Issues will be assigned on a first-come, first-serve basis.
- Participants can open new issues using the provided template, but these need verification and labeling by a mentor or PA.
- Ensure issues are assigned to you before starting work.
- Each participant can work on a maximum of one issue at a time.
- Don't work on issues already assigned to others.
- Discuss issues with the team before starting work.

## Communication and Collaboration

Effective communication and collaboration are crucial for successful contributions:

- Discuss issues with the team before starting work.
- Explain your approach to solving any issue in the comments for better understanding.

## Deadline and Completion

Ensure timely completion of assigned tasks:

- Complete assigned issues within the specified deadline.
- Failure to meet the deadline may result in reassignment.

## Quality and Learning

Learnings:

- Client-Side Development: Understanding how to build a user-friendly interface using React and TailwindCSS.
- Server-Side Development: Utilizing Node.js and Express for server-side logic and API integrations.
- Git Workflow: Understanding the Git workflow for contributing to open-source projects, including forking, branching, committing, and creating pull requests.

Focus on quality and continuous learning:

- Follow project guidelines and coding style.
- Aim for structured and optimized code.
- Mistakes are allowed and are a part of the learning process!