CampusLink
Three kinds of user, three different views of the same campus.
- React
- Next.js
- Node.js
- Express.js
- MongoDB
- Mongoose
- Tailwind

- Role
- Sole developer
- Status
- Live demo, built during my degree
- Stack
- Next.js front end, Express and MongoDB API with Mongoose
The problem
Campus admin runs on notice boards, spreadsheets and whoever happens to be in the office. A student, a teacher and an administrator all need the same underlying records and none of them need the same screen.
What it does
One application with three roles, each seeing the part of the system it is responsible for.
A separate Express and MongoDB API behind it, so the front end holds no data of its own.
How it is built
Roles decide the application, not just the menu
Student, teacher and admin are separate experiences rather than one interface with items hidden. What a role can reach is decided on the API side, because a front end that only hides a button is not access control.
Where it came from
This was built while I was doing my degree, and it is the project where I learned to separate a front end from an API properly rather than reaching into the database from the page.
If you have something like this that needs building or fixing, the contact form reaches me.
Get in touch