Back to templates

Template details

DevFriends Starter

Next.js + Material-UI starter for a dev directory app: list developers, filter by squad, and reassign squads.

About this template

DevFriends Starter is a free GitHub boilerplate that combines Next.js with Material-UI to build a developer-management app: listing developers, filtering them by squad, and reassigning squad membership, all against a pre-built REST API.

What is DevFriends Starter?

DevFriends Starter is an open-source Next.js project scaffolded with Material-UI (MUI) and TypeScript, created by developer jpb06 to support a step-by-step coding exercise. It takes a Next.js frontend and connects it to a backend that exposes a Swagger-documented API at devfriends-backend.fly.dev, with a database model shown in the repository. The output is a functional React app the user completes by following three documented steps: displaying developers, adding a squad filter, and implementing squad reassignment. The repository is public on GitHub, has 4 stars, and is described by its author as a way to toy with React using Next.js and Material-UI.

What makes DevFriends Starter stand out?

  • Preconfigured tooling — The starter includes TypeScript, ESLint, Prettier, Jest, and React Testing Library, so linting, formatting, and unit testing work out of the box.
  • Next.js and Material-UI core — The app runs on Next.js for pages and routing and uses Material-UI components with Emotion for styling, as shown by the dependency icons in the README.
  • Package management with Yarn — Dependencies are installed and scripts run through the Yarn package manager.
  • Guided case study — The README presents a realistic boss scenario with three incremental tasks: list developers, filter by squads, and move a dev to another squad.
  • Backend API already documented — Five REST routes are described in a table: GET /squads, GET /squads/{id}/devs, GET /devs, POST /devs/by-squad, and POST /devs/change-squad.
  • Quick launch in VS Code — A badge at the top opens the project directly in Visual Studio Code via github.dev, letting you start editing without cloning locally.
  • Babel configured — The project uses Babel for JavaScript transpilation alongside Emotion and Material-UI.

Who is DevFriends Starter for?

  • Frontend learners — Junior developers who want a low-pressure React project to practice data fetching and UI patterns without building a backend first.
  • Coding workshop participants — Students in bootcamps or company training sessions who need a standardized codebase with a realistic assignment: a manager tracking who is in which squad.
  • Material-UI adopters — Developers exploring MUI components who want a starter that already wires up the theme, components, and styling from Emotion.
  • Interview or test candidates — Anyone given a take-home exercise that asks to display, filter, and update data from a REST API.

Use cases

  • Build a team directory — Fetch all developers with GET /devs and render them in a Material-UI list or table.
  • Add squad filtering — Call POST /devs/by-squad with a list of squad IDs in the request body so the boss can see only selected squads.
  • Move a developer between squads — Use POST /devs/change-squad to reassign a developer, triggered from a modal or a separate page.
  • Explore a pre-wired API — Open the Swagger UI at devfriends-backend.fly.dev to inspect the live endpoints and test requests before writing frontend code.

How does DevFriends Starter work?

The repository supplies the frontend scaffold and a written case study rather than finished code. Step 1 instructs you to get developers from the backend and display them. Step 2 asks for a filter component, such as checkboxes or a multiselect, to show only selected squads. Step 3 requires a way to change a developer's squad, for example via a new page or modal. The backend routes are documented in a table, and the data model appears in an image in the README, so you know the shapes of squads and developers.

Alternatives

  • create-next-app — the official Next.js CLI starter, which builds a plain Next.js project without preconfigured Material-UI components or a step-by-step case study.

FAQ

Is DevFriends Starter free?

Yes. The project is publicly available in a GitHub repository, so anyone can clone or copy it at no cost. Review the repository for license specifics before redistributing your own version.

What does DevFriends Starter do?

It provides a starting point for a React app that manages a team of developers. You extend it to list all developers, filter them by one or more squads, and change a developer's squad. The backend and its API are already defined, so you only focus on the frontend.

Which backend routes does the starter use?

The README lists five routes: GET /squads, GET /squads/{id}/devs, GET /devs, POST /devs/by-squad, and POST /devs/change-squad. These cover fetching squads, fetching devs, filtering by squads, and reassigning a developer.

What dependencies are included?

Based on the icons in the README, the starter uses TypeScript, Node.js, Yarn, Babel, Emotion, ESLint, Jest, Material-UI, Next.js, Prettier, React, and React Testing Library. This gives you a full modern frontend stack with testing and linting ready.

Can I use this for a real production app?

The README positions it as a toy project, so it is not a production template. It lacks features like authentication, deployment configuration, and brand-specific styling, so you would need to add those yourself.