A modern web application for visualizing student statistics from the 42 API, including evaluations data.
-
🔐 API Authentication
- Secure credential management with localStorage persistence
- OAuth 2.0 integration with 42 API
- Easy credential management with forget option
-
👤 Student Statistics
- Real-time student search by login
- Comprehensive evaluation statistics
- Data visualization with Chart.js and Recharts
-
📝 Evaluation Analytics
- Evaluation quality metrics
- Feedback length distribution
- Detailed evaluation statistics
-
🎙️ Hall Voice
- Student's hall voice sound management
- Audio player integration for sound playback
- Node.js (v18 or higher)
- npm or yarn
- 42 API credentials (client_id and client_secret)
- Clone the repository:
git clone https://github.com/pquline/ft_stats.git
cd ft_stats
- Install dependencies:
npm install
# or
yarn install
- Start the development server:
npm run dev
# or
yarn dev
- Open http://localhost:3000 in your browser.
- Visit 42 API Applications
- Create a new application or use existing credentials
- Copy your
client_id
andclient_secret
- Enter these credentials in the application's API Credentials section
- Framework: Next.js 15.3.2 with Turbopack
- Language: TypeScript
- UI Components:
- Radix UI primitives
- Custom shadcn/ui components
- Tailwind CSS for styling
- Data Visualization:
- Chart.js
- Recharts
- State Management: React Hooks
- Form Handling: React Hook Form
- Notifications: Sonner
- Authentication: 42 OAuth API
- Enter your 42 API credentials in the "API Credentials" section
- Click "Authenticate" to authenticate
- Enter a student's login in the search field
- View detailed statistics including:
- Evaluation performance
- Project completion rates
- Hall voice sound management
npm run dev
- Start development server with Turbopacknpm run build
- Build for productionnpm run start
- Start production servernpm run lint
- Run ESLint
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- 42 API for providing the data
- shadcn/ui for the beautiful component library
- Recharts and Chart.js for the visualization capabilities
$> made w/ <3 by pquline