A web-based tool developed in collaboration with the Pedago team at 42 Berlin to generate ** academic transcripts** for 42 Berlin students. This service was created to fill the gap where a formal transcript did not previously exist, helping students present their achievements to employers, universities, and other institutions upon request.
https://transcript42.project-cloud.cloud
- 🔐 OAuth2 Authentication via the 42 API
- 📄 PDF Transcript Generation in English or German
- 🎓 Option to generate:
- Only the core curriculum
- Core curriculum + specialization track (for advanced students)
 
- 📁 Stores user data locally in .jsonand outputs.pdf
- 🛠️ Developer Log View (secured by password)
- 🚀 GitHub Actions CI/CD for auto-deployment
- 📦 Dockerized for reproducible builds and easy deployment
| Technology | Role | 
|---|---|
| FastAPI | Web framework | 
| LaTeX | PDF formatting and generation | 
| Docker | Containerization | 
| 42 API | Student data integration (OAuth + fetch) | 
| GitHub Actions | CI/CD pipeline | 
| Endpoint | Method | Description | 
|---|---|---|
| /or/my_fabulous_transcript | GET | Initiates OAuth2 authorization with 42 API | 
| /oauth_redirect | GET | Handles the 42 OAuth redirect and token exchange | 
| /transcript | POST | Generates a PDF based on submitted form data | 
| /logs | GET | Shows server logs (requires password) | 
Transcripts include:
- Student name and birth info
- Completed projects
- Grades and evaluation scores
- Optional: specialization track (if applicable)
You can choose between German or English formats.
- OAuth 2.0 ensures authentication via 42's secure API.
- Log access is protected by a secret password.
- User files are stored in a data/folder and are private to the instance.
For suggestions or contributions, feel free to open a pull request or issue.
