42term is a web application that generates beautiful terminal-style widgets to showcase 42 school students' profiles, projects, and skills. These widgets can be embedded in GitHub READMEs, personal websites, or anywhere that supports SVG images.
-
Multiple Widget Types:
- Profile Widget: Display student information, level, and statistics
- Projects Widget: Showcase completed projects with marks
- Skills Widget: Visualize coding skills and proficiency levels
-
Customization:
- Dark and Light themes
- Adjustable width
- Downloadable SVG files
-
Easy Integration:
- Direct URL embedding
- Markdown for GitHub READMEs
- HTML for websites
The easiest way to generate your widget is to visit 42term and follow these steps:
- Enter your 42 intra username
- Select the widget type (Profile, Projects, Skills)
- Choose your preferred theme
- Copy the generated markdown or HTML code
Add this to your GitHub README to display your widget:
Replace username with your 42 intra username, and choose the widget type:
studentfor profile widgetprojectsfor projects widgetskillsfor skills widget
| Endpoint | Description |
|---|---|
/api/widget/:type/:username |
Generate SVG widget (type: student, projects, skills) |
/api/student/:username |
Get raw student data |
/api/github-badge/:username |
Simple GitHub-compatible level badge |
/api/download-widget/:type/:username |
Downloadable SVG file |
theme:darkorlight(default: dark)width: Width in pixels (default: 800)maxSkills: Maximum skills to display for skills widgetmaxProjects: Maximum projects to display for projects widgetincludePiscine: Include Piscine projects (true/false)
- Node.js 18+
- Yarn or npm
- Clone the repository:
git clone https://github.com/zelhajou/42term.git
cd 42term- Install dependencies:
npm install
# or
yarn- Create a
.envfile with your 42 API credentials:
NEXT_PUBLIC_42_API_URL="https://api.intra.42.fr/v2"
FT_CLIENT_SECRET="your-client-secret"
FT_CLIENT_ID="your-client-id"
- Run the development server:
npm run dev
# or
yarn dev- Open http://localhost:3000 in your browser.
- Next.js 15 - React framework
- TailwindCSS - Styling
- 42 API - Data source
- SVG - Widget rendering
Contributions are welcome! Feel free to submit issues or pull requests to help improve 42term.
This project is open source and available under the MIT License.
Created with ❤️ by Zelhajou, a 1337 (42 Network) student. Not officially affiliated with 42 School.
