We are glad you are here. We need volunteer developers to help this project come to fruition. Contributors of all skill levels are encouraged to get involved! All contributions are subject to our Code of Conduct.
The GoVote project uses Docker and docker-compose. You will need to install both to properly run the project.
In order to get the project running on your local machine, you must first fork the project to your GitHub account.
Having done that, you can now clone the git repository from your profile:
$ git clone https://github.com/<YOUR_GITHUB_USERNAME>/GoVote.git
This will create a new directory on your machine called "GoVote", that you should then cd into.
$ cd GoVote
The project has been properly cloned at this point, and it is time to get it up and running. Run the following commands to build the govote image, create and seed the database, and start the containers.
docker-compose build
docker-compose up -d # Starts the database and server in the background. Access the app at http://localhost:3000
docker-compose exec govote node ./bin/create-tables.js # Creates the database tables
docker-compose exec govote node ./bin/etl.js # Seeds the databaseTo stop the project run docker-compose stop
The project uses ReactJS as a UI library, and the server runs on NodeJS utilizing the Express framework. Our code linting is done with ESLint, and if you have followed the Getting Started steps, any linting errors should be present in your console. Please confirm that all linter errors are resolved before Creating a Pull Request.
All of the client-side React code lives in the /src directory of the project, while the server code is located in /server.
-
Ensure the bug was not already reported by searching on GitHub under Issues.
-
If you're unable to find an open issue addressing the problem, open a new one. Follow the Issue template and be sure to include as much information as possible in the bug section of the issue template. Required information for reported bugs include: Expected Behavior, Current Behavior, Possible Solution, and Steps to Reproduce.
-
Open a new GitHub pull request with the patch.
-
Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable.
-
Fill out the information requested in the Pull Request Template to the best extent possible.
- Suggest and discuss your change in a new issue using the the feature discussion section of the issue template. Gennerally, it is a good idea to discuss a path forward relating to a proposed, or existing feature change prior to submitting a pull request to avoid a rejected contribution.
- Ask any question about the project or contributing by opening a new issue and labeling it as a question.
The GoVote project is a volunteer effort. We encourage you to pitch in!
The Code for Greensboro Team