EPAC-RIS
Research management and showcase platform for a university engineering school
- EPAC, Service de la Recherche et de l'Innovation
- 2026
- Web
- Full-stack development: API, member area, public website and deployment

Overview
EPAC-RIS (Research · Innovation · Statistics) brings all research activity at the Polytechnic School of Abomey-Calavi into one place: labs and research units, researchers, publications, theses, projects, patents and innovations, equipment and events.
My role
Full-stack development: API, member area, public website and deployment
Challenge
Research data was scattered across labs in Excel files and stand-alone documents, with no reliable overview and no validation process. The platform had to serve four roles with different permissions (research office, lab directors, unit heads, faculty researchers), import existing data without retyping it, prevent duplicate publications, and publish up-to-date information without exposing personal data.
Solution
I designed a single Laravel 12 API used by two React/TypeScript front ends: - Permissions: four roles, access scoped to each lab or unit, and a validation workflow (pending, approved, rejected) for publications and theses. - Importing existing data: seven Excel templates (ExcelJS), plus batch import of publications from PDFs. pdf.js extracts the text and the Crossref API fills in the metadata. - Duplicates: detected by DOI or normalised title, both in the API and in the UI. - Reporting: Recharts dashboards and branded reports exported to PDF (jsPDF), Word (docx) and Excel. - Public website: React, Tailwind CSS 4 and shadcn/ui (Radix), data loaded with TanStack Query, detail pages for labs, innovations and equipment. - Security: Sanctum tokens that expire after 7 days, login rate limiting, restricted CORS, and filtered fields on public routes.
Tech stack
- React 19
- Typescript
- Tailwind CSS
- Zustand
- Laravel 12
- Laravel Sanctum
- API REST
- API Crossref
Result
For the first time, the school has a single reference database for its research. The platform now lists 282 scientific publications, 44 researchers, 27 research units and 4 laboratories. Each lab maintains its own data and the research office validates it. Most publications were brought in through Excel or PDF import without retyping, and duplicates were removed automatically. Reports that used to take days to compile are generated in one click as PDF, Word or Excel. The public website displays these figures live.