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
- Clone the repository
git clone <repository-url>
cd ProjectProgressTracker
- 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
- 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
- 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:
- Check if PostgreSQL is running
- Create the database if it doesn't exist
- Start the backend server at http://localhost:5000
- Start the frontend server at http://localhost:3000
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:
- Email: admin@projecttracker.com
- Password: password123
Important: Change the default admin password immediately after the first login for security reasons.
Using the Application
- Login using the default admin credentials
- Create Projects from the dashboard
- Update project progress as tasks are completed
- 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:
- Ensure PostgreSQL is running:
pg_isready
- Verify database credentials in the
.env
file - Check that the database exists:
psql -l
API Connection Issues
If the frontend can't connect to the backend API:
- Ensure backend server is running at http://localhost:5000
- Verify the REACT_APP_API_URL in the frontend .env file
- Check for CORS issues in browser console
Authentication Issues
If you can't log in:
- Verify that you're using the correct credentials
- Check if the JWT_SECRET in the backend .env file is properly set
- Ensure the database has been initialized with the default admin user
Next Steps
- Create additional admin and guest users
- Create your first project
- Share project links with stakeholders
- 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.