<img src="public/assets/logos/thinkRED-np.svg" alt="ThinkRED Logo" width="280" height="120" style="marg###(https://img.shields.io/badge/Vite-6.3+-646CFF?style=flat&logo=vite)
π Quick Navigation: π Quick Start β’ π Documentation β’ πΌ Careers β’ π Live Status
Metric | Status | Action |
---|---|---|
π CI/CD Pipeline | View Workflow | |
π Security Checks | Security Report | |
π₯ Repository Health | Health Dashboard | |
β‘ Performance | Performance Report | |
π¦ Dependencies | Dependency Health |
ThinkRED Technologies LLP is a premier engineering-focused technology consultancy that transforms complex technological challenges into elegant solutions. Founded by engineers from Mozilla, Fedora, and Red Hat, we bring open-source innovation and enterprise-grade expertise to businesses worldwide.
Latest technologies for blazing performance |
Multi-layer security with industry standards |
Intelligent features for enhanced user experience |
# 1. π₯ Clone the repository
git clone https://github.com/thinkredtech/thinkredtech.github.io.git
cd thinkredtech.github.io
# 2. π¦ Install dependencies
npm install
# 3. π Start development server
npm run dev
# 4. π Open in browser
# Navigate to http://localhost:3000
π§ Development Commands
Command | Purpose | Usage |
---|---|---|
npm run dev |
π₯ Hot reload development | Daily development |
npm run build |
π¦ Production build | Deployment prep |
npm run preview |
π Preview build locally | Pre-deployment test |
npm run lint |
π Code quality check | Code review |
npm run type-check |
β TypeScript validation | Type safety |
npm run format |
π Code formatting | Code cleanup |
npm test |
π§ͺ Run test suite | Quality assurance |
npm run security:validate |
π‘οΈ CSP validation | Security audit |
npm run security:scan |
π Sensitive data scan | Security scan |
npm run security:build |
π Secure production build | Secure deployment |
The website includes an admin interface for managing job postings at /admin
. For security, this requires environment-based authentication configuration.
Environment Variable Authentication: Admin functionality requires REACT_APP_ADMIN_PASSWORD
environment variable to be set.
No hardcoded fallbacks are provided for security.
// Secure implementation - AdminJobManagement.tsx
const ADMIN_PASSWORD = process.env.REACT_APP_ADMIN_PASSWORD;
// Fail-safe: Requires proper configuration
if (!ADMIN_PASSWORD) {
console.error('REACT_APP_ADMIN_PASSWORD environment variable not set');
// Admin functionality disabled until properly configured
}
π Step-by-Step Configuration
# Copy the example configuration
cp .env.example .env.local
# Generate a secure password (example methods)
openssl rand -base64 24 # macOS/Linux
# Or use a password manager to generate 16+ character password
# Edit .env.local (NEVER commit this file)
echo "REACT_APP_ADMIN_PASSWORD=<YOUR_SECURE_PASSWORD>" >> .env.local
# Build with environment variables
npm run build
# Test admin functionality
npm run preview
# Navigate to http://localhost:4173/admin
Method: GitHub Actions with environment secrets # .github/workflows/ci-cd-pipeline.yml
- name: Build for GitHub Pages
run: npm run build
env:
REACT_APP_ADMIN_PASSWORD: ${{ secrets.ADMIN_PASSWORD }} Setup Process:
Build Process:
|
Method: Manual build with environment variables # Local build with environment
export REACT_APP_ADMIN_PASSWORD="<YOUR_ADMIN_PASSWORD_HERE>"
npm run build
# Deploy to Hostinger via deploy script
./deploy-hostinger.sh Setup Process:
Alternative: Set environment variables in build script: # deploy-hostinger.sh
export REACT_APP_ADMIN_PASSWORD="$HOSTINGER_ADMIN_PASSWORD"
npm run build
# ... upload logic
|
π How Environment Variables Work in React Builds
React apps are client-side applications that run in the browser. Environment variables prefixed with REACT_APP_
are:
- Injected at Build Time: During
npm run build
, Vite/Webpack replacesprocess.env.REACT_APP_*
with actual values - Embedded in Bundle: The password becomes part of the compiled JavaScript code
- Available at Runtime: Browser can access the embedded values for authentication
// Before build (source code)
const ADMIN_PASSWORD = process.env.REACT_APP_ADMIN_PASSWORD;
// After build (compiled bundle) - example output
const ADMIN_PASSWORD = "<ACTUAL_VALUE_FROM_BUILD_PROCESS>";
- β Acceptable: Admin passwords for basic content management
- β Never expose: API keys, database credentials, or sensitive secrets
- π Best Practice: Use unique, rotatable passwords for admin functionality
Environment | Variable Source | Build Command | Deployment Method |
---|---|---|---|
Local Development | .env.local |
npm run dev |
Hot reload with environment |
GitHub Pages | Repository secrets | npm run build |
GitHub Actions automation |
Hostinger | Shell export or script | npm run build |
Manual FTP/SFTP upload |
Other Platforms | Platform-specific | npm run build |
Platform deployment tools |
π¨ Common Issues & Solutions
Cause: REACT_APP_ADMIN_PASSWORD
not set during build
Solution: Ensure environment variable is configured before building
Cause: Wrong password or environment variable name
Solution: Verify exact password and REACT_APP_
prefix
Cause: Environment variable not set in deployment pipeline
Solution: Check deployment platform's environment configuration
Status: β
Expected behavior - React environment variables are public
Action: Use unique, rotatable passwords; never expose sensitive secrets
- β
Environment Variable Set:
REACT_APP_ADMIN_PASSWORD
configured - β Secure Password: 16+ characters, unique, not reused elsewhere
- β
Local Files Protected:
.env.local
in.gitignore
, never committed - β Production Configured: Deployment platform has environment variable
- β
Build Successful:
npm run build
completes without errors - β Admin Access Tested: Login works with configured password
|
|
π Guide | π― Purpose | π Link |
---|---|---|
π’ Company Info | About ThinkRED Technologies | View Guide |
π¨ Brand Guidelines | Brand identity & usage | View Guide |
ποΈ Design System | UI components & patterns | View Guide |
π Security Architecture | Security implementation | View Guide |
π Website Overview | Technical architecture | View Guide |
π Versioning Guide | Release management | View Guide |
π Modern Frontend
β‘ Backend Solutions
|
ποΈ Infrastructure
π CI/CD Pipelines
|
π§ Machine Learning
π― Consulting
|
We're always looking for passionate engineers, designers, and innovators to join our team. Explore current opportunities and learn about our culture.
π Monitoring | π― Purpose | π Access |
---|---|---|
π Live Website | Production monitoring | Visit Site |
π Status Dashboard | System status & metrics | View Dashboard |
π₯ Health Report | Repository health | View Report |
βοΈ GitHub Actions | CI/CD pipeline status | View Workflows |
π Performance | Core web vitals | View Metrics |
We welcome contributions from the community! Whether it's bug fixes, feature enhancements, or documentation improvements.
π§ Development Setup
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/thinkredtech.github.io.git
- Install dependencies:
npm install
- Create a branch:
git checkout -b feature/your-feature-name
- Make changes and test:
npm run dev
- Commit changes:
git commit -m "feat: your feature description"
- Push to branch:
git push origin feature/your-feature-name
- Open a Pull Request
Engineering Excellence β’ Innovation-Led Solutions
Made with β€οΈ by the ThinkRED Team