A platform for discovering, evaluating, and sharing technology solutions within your organization. Tech Compass helps teams make informed decisions about technology choices by providing:
- A centralized catalog of technology solutions
- Detailed evaluations and recommendations
- Team and department-specific insights
- Usage statistics and ratings
- Technical documentation and best practices
-
📊 Solution Discovery
- Browse and search technical solutions
- Advanced filtering and search capabilities
- Detailed solution comparisons
-
⭐ Evaluation System
- Rate and review solutions
- Comment and discuss implementations
- Track usage statistics
-
🏷️ Organization
- Tag-based categorization
- Custom taxonomies
- Team-based organization
-
📈 Visualization
- Technology radar visualization
- Adoption trends
- Impact analysis
-
🔐 Access Control
- Role-based permissions
- Team management
- Audit logging
The project follows a microservices architecture with the following components:
components/compass-api
: Backend API service built with Python FastAPIcomponents/compass-ui
: Frontend web application built with Angular + PrimeNG
- Frontend:
- Angular 17+
- PrimeNG
- TypeScript
- Backend:
- Python FastAPI
- MongoDB
- Node.js 16+ and npm
- Python 3.11+
- MongoDB 5.0+
- Docker (optional)
- Clone the repository
git clone https://github.com/tobyqin/tech-compass.git
cd tech-compass
- Backend Setup
cd components/compass-api
python -m venv venv
source venv/bin/activate # On Windows: .\venv\Scripts\activate
pip install -r requirements.txt
# Configure environment
cp .env.example .env
# Edit .env with your configuration
python main.py
- Frontend Setup
cd components/compass-ui
npm install
ng serve
docker-compose up -d
main
: Production-ready codedevelop
: Development branch- Feature branches:
feature/*
- Bug fixes:
fix/*
- Frontend: ESLint + Prettier
- Backend: Black + isort
- Pre-commit hooks are configured
# Backend tests
cd components/compass-api
pytest
# Frontend tests
cd components/compass-ui
ng test
We welcome contributions! Please search existing issues before creating new ones. For code contributions, fork the repo, make your changes with tests, and submit a PR.
- Project Lead: Toby Qin
- Issue Tracker: GitHub Issues
This project is licensed under the MIT License - see the LICENSE file for details.