A full-stack web application that serves as a dashboard for the SpiceCode CLI code analyzer. This application allows users to track code quality metrics over time, visualize trends, and manage multiple projects.
- GitHub Authentication: Secure login using GitHub OAuth
- API Key Management: Generate and manage API keys for CLI integration
- Project Management: View and organize multiple codebases
- File-level Metrics: Track metrics for individual files within projects
- Historical Data: View how code quality evolves over time
- Metrics Visualization: Interactive charts and graphs for data analysis
- Deduplication: Automatic deduplication of identical metrics submissions
- Express.js: Web server framework
- PostgreSQL: Database for storing users, projects, and metrics
- Sequelize: ORM for database interactions
- Passport.js: Authentication middleware with GitHub strategy
- JWT: Token-based authentication for frontend-backend communication
- React: UI library for building the user interface
- React Router: Client-side routing
- Material-UI: Component library for consistent design
- Recharts: Charting library for metrics visualization
- Axios: HTTP client for API requests
spicecode-dashboard/
βββ server/ # Backend Express application
β βββ config/ # Configuration files
β βββ controllers/ # Route controllers
β βββ middleware/ # Custom middleware
β βββ models/ # Sequelize models
β βββ routes/ # API routes
β βββ utils/ # Utility functions
β βββ server.js # Main server entry point
βββ client/ # Frontend React application
β βββ public/ # Static files
β βββ src/ # React source code
β βββ components/ # Reusable components
β βββ contexts/ # React contexts
β βββ pages/ # Page components
β βββ App.js # Main React component
βββ .env # Environment variables
βββ package.json # Project dependencies and scripts
βββ integration-guide.md # Guide for integrating with SpiceCode CLI
βββ deployment-guide.md # Instructions for deploying to Render
βββ test-data.md # Sample data for testing
See the Deployment Guide for instructions on setting up and deploying the application.
For information on integrating with the SpiceCode CLI, see the Integration Guide.
To run the application locally:
- Clone the repository
- Install dependencies:
npm install cd client && npm install cd ..
- Set up environment variables in
.envfiles - Start the development server:
npm run dev
Use the sample data in test-data.md to validate the application's functionality.
This application is designed to be deployed as a single project on Render. See the Deployment Guide for detailed instructions.
This project is licensed under the MIT License.

