Welcome to the official repository for the GovTool Voting Pillar.
This document serves as a comprehensive guide for setting up the full stack of our application, which includes the backend, frontend, and database components.
- Node.js installed - Download link.
- PostgreSQL installed (if running locally without Docker) - Download link.
- Docker and Docker Compose installed (for Docker environment) - Download link
The frontend of the application is built using React, a popular JavaScript library for building user interfaces.
Before you begin setting up the application, you'll need to clone the repository from GitHub to get a local copy of the code. Follow these steps to clone the repository and start setting up the application components:
-
Clone the Repository:
- Open a terminal on your computer.
- Navigate to the directory where you want to store the project.
- Run the following command to clone the repository:
git clone https://github.com/IntersectMBO/govtool-voting-pillar.git
-
Navigate to the Project Directory:
- After cloning, change into the project's root directory:
This directory contains all the files you need to set up the application.
cd govtool-voting-pillar
- After cloning, change into the project's root directory:
By cloning the repository, you ensure that you have the latest version of the code and all the necessary files to get started with the application setup.
To run the application locally, you need to have Node.js installed.
- Install dependencies by running
npm install
. - Configure Environment Variables: Create or edit a
.env
file in the frontend directory to include environment variables specific to application. - Start the React Application with
npm run dev
for development mode. This command serves your frontend application and hot-reloads for any changes.
To run the application using Docker Compose, you need to have Docker and Docker Compose installed.
- Build the Docker Images: Run
docker-compose build
to build the Docker images for the frontend and backend. - Start the Application: Run
docker-compose up
to start the application.