A modern React application for AI-powered code review and analysis.
- Code Editor: Syntax-highlighted code editor with support for multiple programming languages
- AI Review: Get intelligent code analysis and suggestions from AI
- Modern UI: Clean, responsive interface with dark theme
- Real-time Feedback: Instant code analysis and review results
- Frontend: React 19, Vite
- Code Editor: React Simple Code Editor with Prism.js syntax highlighting
- Markdown Rendering: React Markdown with syntax highlighting
- Styling: Modern CSS with custom properties and responsive design
- Code Quality: ESLint, Prettier
- HTTP Client: Axios
src/
├── components/ # Reusable UI components
│ ├── Button/ # Button component with variants
│ ├── CodeEditor/ # Code editor with syntax highlighting
│ └── ReviewPanel/ # AI review results display
├── hooks/ # Custom React hooks
│ └── useCodeReview.js # Code review functionality
├── services/ # API and external services
│ └── codeReviewService.js # AI review API integration
├── constants/ # Application constants
│ ├── api.js # API endpoints and configuration
│ └── theme.js # Theme and styling constants
├── styles/ # Global styles and CSS
│ ├── globals.css # Global styles and reset
│ └── App.css # Main application styles
└── utils/ # Utility functions
- Node.js >= 18.0.0
- npm >= 9.0.0
-
Clone the repository:
git clone https://github.com/aditya-Kumar421/codeCriticAI-Frontend.git cd codeCriticAI-Frontend -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLintnpm run lint:fix- Fix ESLint errors automaticallynpm run format- Format code with Prettiernpm run format:check- Check code formatting
- Use functional components with hooks
- Implement proper error boundaries
- Follow component-based architecture
- Separate concerns (UI, logic, data)
- Use CSS modules or styled-components for component styles
- Follow BEM methodology for CSS classes
- Implement responsive design principles
- Use CSS custom properties for theming
- Follow ESLint rules
- Use Prettier for consistent formatting
- Write meaningful component and function names
- Add PropTypes for type checking
- Include JSDoc comments for complex functions
- Implement code splitting
- Use React.memo for expensive components
- Optimize bundle size with proper imports
- Implement proper loading states
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions or need help, please open an issue on GitHub.