LuminaCode is a comprehensive code quality analysis platform that helps developers identify security vulnerabilities, code smells, complexity issues, and maintainability problems in their codebase. Built with modern web technologies and powered by intelligent analysis algorithms.
- Static Code Analysis: Detect code smells, anti-patterns, and structural issues
- Security Vulnerability Detection: Identify SQL injection, hardcoded secrets, buffer overflows, and other security risks
- Complexity Analysis: Calculate cyclomatic complexity and provide optimization suggestions
- Multi-language Support: Analyze code in Python, Java, JavaScript, and more
- Interactive Dashboard: Real-time health scores and metrics
- Dependency Graph Visualization: Visual representation of code structure and relationships
- Health Score Tracking: Monitor code quality trends over time
- Issue Management: Track open issues and fixed problems
- Lumina Chatbot: Get instant advice on code quality, security, and optimization
- Contextual Recommendations: Receive specific suggestions based on your code analysis
- Educational Insights: Learn about best practices and common pitfalls
- Code Sandbox: Safe execution environment for testing code snippets
- Automated Fixer: Generate fixes for common code quality issues
- Real-time Analysis: Instant feedback as you write code
LuminaCode/
├── backend/ # FastAPI Python server
│ ├── main.py # Core API endpoints
│ └── requirements.txt
└── frontend/ # React + Vite client
├── src/
│ ├── components/
│ ├── pages/
│ └── context/
├── package.json
└── vite.config.js
- Python 3.8+ with pip
- Node.js 16+ with npm
- Git
-
Clone the repository
git clone https://github.com/yourusername/luminacode.git cd luminacode -
Set up Python environment
cd backend python -m venv venv # On Windows: venv\Scripts\activate # On macOS/Linux: source venv/bin/activate
-
Install Python dependencies
pip install fastapi uvicorn pydantic
-
Start the backend server
python main.py
The API will be available at
http://localhost:8000
-
Navigate to frontend directory
cd ../frontend -
Install Node.js dependencies
npm install
-
Start the development server
npm run dev
The application will be available at
http://localhost:5173
- Navigate to the Analysis page
- Paste your code or upload a file
- Select the programming language
- Click Analyze to get comprehensive quality metrics
- Go to the Security tab
- Review detected vulnerabilities
- Get detailed remediation steps
- Visit the Graph View page
- Explore the interactive code structure visualization
- Identify complex relationships and potential refactoring opportunities
- Access the Chatbot from any page
- Ask questions about code quality, security, or best practices
- Get instant, contextual advice
Use the Sandbox feature to execute code snippets in a controlled environment:
- Go to the Sandbox page
- Write or paste your code
- Click Execute to see the output
- Note: System modules are restricted for security
# Backend tests
cd backend
python -m pytest
# Frontend tests
cd frontend
npm test# Build frontend
cd frontend
npm run build
# The built files will be in the 'dist' directoryWhen the backend is running, visit http://localhost:8000/docs for interactive API documentation powered by Swagger UI.
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow PEP 8 for Python code
- Use ESLint configuration for JavaScript/React
- Write clear, descriptive commit messages
- Add tests for new features
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with FastAPI for the backend
- Frontend powered by React and Vite
- UI components styled with Tailwind CSS
- Charts and graphs using Recharts
If you have any questions or need help:
- Open an issue on GitHub
- Check the documentation
- Contact the maintainers
Happy coding with LuminaCode! 🚀