Skip to content

Latest commit

 

History

History
113 lines (79 loc) · 4.24 KB

Learn.md

File metadata and controls

113 lines (79 loc) · 4.24 KB

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

Table of Contents

Getting Started

Follow these steps to get started with NPB_VOTE_WEB3:

  1. Clone the repository:

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

    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:

     npm run dev
  5. 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!