AI for supported employment job coaches to improve employment for people with disabilities.
-
Environment Setup
- For detailed environment configuration instructions, see Environment Setup Guide
- Choose between Demo Mode, Local Development, or Azure Integration
-
Run with Docker
docker compose up --build
-
Access the Application
- Frontend: http://localhost:3000/demo.html
- Backend: http://localhost:8000
- Docker Desktop installed and running
- Git
- Node.js (v16 or later) - for local development
- Python 3.9+ - for local development
-
Clone the repository:
git clone https://github.com/your-username/Macrohard.git cd Macrohard
-
Make the run script executable:
chmod +x scripts/run.sh
-
Run in demo mode (recommended for first-time users):
./scripts/run.sh -d
This will start the application with mock data, accessible at:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
-
To run with Azure services (requires Azure credentials):
./scripts/run.sh -a
-d, --demo
: Run in demo mode (default)-a, --azure
: Run with Azure services-b, --build
: Force rebuild of containers-s, --stop
: Stop all containers-h, --help
: Show help message
-
Backend Setup:
cd backend python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
-
Frontend Setup:
cd frontend npm install
-
Start Development Servers:
- Backend:
uvicorn main:app --reload --port 8000
- Frontend:
npm start
- Backend:
-
Build and run with demo data:
./scripts/run.sh -d -b
-
Build and run with Azure services:
./scripts/run.sh -a -b
- Never commit .env files with real credentials to the repository
- Keep credentials secure and rotate them regularly
- Use different environment files for different purposes:
.env.demo
- For demo mode (safe to commit).env.azure
- For Azure services (never commit)
- The
.gitignore
file is set up to exclude sensitive files
-
Copy the template file:
cp .env.azure.example .env.azure
-
Edit
.env.azure
with your actual credentials:nano .env.azure # or use any text editor
-
Use the Azure-specific docker-compose file:
docker compose -f docker-compose.azure.yml up -d
- Rotate credentials regularly: Update your Azure keys every 30-90 days
- Use Azure Key Vault for production environments
- Set up Azure Managed Identities for services where possible
- Limit access permissions to only what's needed
Macrohard/
├── backend/ # FastAPI backend
│ ├── api/ # API endpoints
│ ├── models/ # Data models
│ ├── services/ # Business logic
│ └── main.py # Application entry point
├── frontend/ # React frontend
│ ├── public/ # Static files
│ ├── src/ # Source code
│ └── package.json # Dependencies
├── docs/ # Documentation
│ ├── docker_setup.md
│ ├── azure_setup.md
│ └── other documentation files
├── scripts/ # Shell scripts
│ ├── run.sh # Main application runner
│ └── setup_azure.sh # Azure setup helper
├── docker-compose.yml
├── docker-compose.azure.yml
├── .env.example
├── .env.azure.example
├── .env.demo
├── .gitignore
├── LICENSE
└── README.md
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.