Skip to content

Quick Start Guide

jnleyva816 edited this page Jun 9, 2025 · 1 revision

Quick Start Guide

Get the NextMove up and running in minutes! This guide covers the fastest way to set up your development environment and start contributing.

Prerequisites

Before you begin, ensure you have the following installed:

  • Docker & Docker Compose (Recommended approach)
  • Git for version control
  • Java 17+ (for backend development)
  • Node.js 20+ (for frontend development)
  • PostgreSQL 15+ (if not using Docker)

πŸš€ Option 1: Docker Compose (Recommended)

This is the fastest way to get everything running:

# 1. Clone the repository
git clone https://github.com/jnleyva816/NextMove.git
cd NextMove

# 2. Start all services
docker-compose up -d

# 3. Wait for services to be ready (about 30-60 seconds)
docker-compose logs -f

# 4. Access the application
# Frontend: http://localhost:3000
# Backend API: http://localhost:8080
# Database: localhost:5432

Verify Installation

# Check if all services are running
docker-compose ps

# Test backend API
curl http://localhost:8080/actuator/health

# Check frontend
curl http://localhost:3000

πŸ› οΈ Option 2: Manual Setup

If you prefer to run services individually:

Step 1: Database Setup

# Option A: Use Docker for database only
docker run --name nextmove-postgres \
  -e POSTGRES_DB=nextmove \
  -e POSTGRES_USER=postgres \
  -e POSTGRES_PASSWORD=password \
  -p 5432:5432 \
  -d postgres:15

# Option B: Use local PostgreSQL
createdb nextmove

Step 2: Backend Setup

cd backend

# Create environment file
cp .env.example .env
# Edit .env with your database credentials

# Build and run
./mvnw clean install
./mvnw spring-boot:run

Step 3: Frontend Setup

cd frontend

# Install dependencies
npm install

# Create environment file
cp .env.example .env
# Edit .env with your backend URL

# Start development server
npm run dev

πŸ§ͺ Verify Your Setup

1. Backend Health Check

curl http://localhost:8080/actuator/health

Expected response:

{
  "status": "UP",
  "components": {
    "db": {"status": "UP"},
    "diskSpace": {"status": "UP"}
  }
}

2. Frontend Access

Open your browser and navigate to http://localhost:3000. You should see the NextMove landing page.

3. API Test

# Test user registration
curl -X POST http://localhost:8080/api/users/register \
  -H "Content-Type: application/json" \
  -d '{
    "username": "testuser",
    "email": "test@example.com",
    "password": "TestPassword123!"
  }'

πŸ”‘ Default Credentials

Database

  • Host: localhost:5432
  • Database: nextmove
  • Username: postgres
  • Password: password

Application

  • No default user accounts (you need to register)
  • Admin functionality requires specific role assignment

πŸ“ Project Structure Overview

NextMove/
β”œβ”€β”€ backend/          # Spring Boot application
β”œβ”€β”€ frontend/         # React application
β”œβ”€β”€ docker-compose.yml # Docker services configuration
β”œβ”€β”€ WIKI/            # Project documentation
└── CONTRIBUTING/    # Contributing guidelines

πŸš€ Next Steps

Now that you have the application running:

  1. Explore the Application

    • Register a new user account
    • Create your first job application
    • Navigate through the interface
  2. Development Setup

  3. Understanding the Architecture

πŸ› Troubleshooting

Common Issues

Port conflicts:

# Check what's using port 8080 or 3000
sudo netstat -tulpn | grep :8080
sudo netstat -tulpn | grep :3000

# Stop conflicting services or change ports in docker-compose.yml

Database connection issues:

# Check database logs
docker-compose logs postgres

# Reset database
docker-compose down -v
docker-compose up -d

Build failures:

# Clean and rebuild backend
cd backend && ./mvnw clean install

# Clear frontend cache
cd frontend && rm -rf node_modules package-lock.json
npm install

Getting Help

🎯 What's Next?

Choose your path based on your role:

For Developers

For DevOps

For Contributors


Need help? Check our Support & Contact page or create an issue!

Clone this wiki locally