ProjectProgressTracker/GETTING_STARTED.md

3.7 KiB

Getting Started with Project Progress Tracker

This guide will help you set up and run the Project Progress Tracker application on your local machine for development and testing purposes.

Prerequisites

Before you begin, make sure you have the following installed:

  • Node.js (v14.x or later)
  • npm (v6.x or later)
  • PostgreSQL (v12.x or later)
  • Git (for version control)

Initial Setup

  1. Clone the repository
git clone <repository-url>
cd ProjectProgressTracker
  1. Set up the database

Start the PostgreSQL service:

sudo service postgresql start

Create a database for the application:

createdb project_tracker

Initialize the database schema:

psql -d project_tracker -f backend/src/config/init.sql
  1. Configure environment variables

For the backend, create a .env file in the /backend directory:

PORT=5000
DB_USER=postgres
DB_HOST=localhost
DB_NAME=project_tracker
DB_PASSWORD=postgres
DB_PORT=5432
JWT_SECRET=your_jwt_secret_key_change_in_production
CORS_ORIGIN=http://localhost:3000

For the frontend, create a .env file in the /frontend directory:

REACT_APP_API_URL=http://localhost:5000/api
  1. Install dependencies

For the backend:

cd backend
npm install

For the frontend:

cd frontend
npm install

Running the Application

Quick Start (using the development script)

The easiest way to start both frontend and backend servers is using the provided script:

# Make sure the script is executable
chmod +x run-dev.sh

# Run the development servers
./run-dev.sh

This script will:

Manual Start

If you prefer to start the servers manually:

For the backend:

cd backend
npm run dev

For the frontend (in a separate terminal):

cd frontend
npm start

Default Admin Access

The application comes with a default super admin account:

Important: Change the default admin password immediately after the first login for security reasons.

Using the Application

  1. Login using the default admin credentials
  2. Create Projects from the dashboard
  3. Update project progress as tasks are completed
  4. Share projects with external stakeholders using the share link feature

Docker Deployment

To deploy the application using Docker:

# Build the Docker images
docker-compose build

# Start the containers
docker-compose up -d

Access the application at http://localhost

Troubleshooting

Database Connection Issues

If you encounter database connection problems:

  1. Ensure PostgreSQL is running: pg_isready
  2. Verify database credentials in the .env file
  3. Check that the database exists: psql -l

API Connection Issues

If the frontend can't connect to the backend API:

  1. Ensure backend server is running at http://localhost:5000
  2. Verify the REACT_APP_API_URL in the frontend .env file
  3. Check for CORS issues in browser console

Authentication Issues

If you can't log in:

  1. Verify that you're using the correct credentials
  2. Check if the JWT_SECRET in the backend .env file is properly set
  3. Ensure the database has been initialized with the default admin user

Next Steps

  1. Create additional admin and guest users
  2. Create your first project
  3. Share project links with stakeholders
  4. Explore the user management features (Super Admin only)

For any additional questions or issues, please refer to the project documentation or raise an issue in the project repository.