Platypus is a full-stack CRUD web app with a React frontend and Java + Kotlin backend using Quarkus and Spring Boot, designed for end-to-end development practice with database integration.
Backend API server based on Quarkus in Kotlin and Java
-
Install quarkus CLI via https://quarkus.io/get-started/
-
Create a new quarkus application
$ quarkus create app --maven --kotlin --java=21 --refresh --verbose \
--extension='kotlin,resteasy-reactive,resteasy-reactive-jackson,smallrye-openapi,hibernate-orm,hibernate-orm-panache,hibernate-orm-rest-data-panache,hibernate-orm-panache-kotlin,jdbc-postgresql,rest-client-jackson,cache,hibernate-search-orm-elasticsearch' --package-name=au.platypus.quarkus \
platypus:platypus-backend-quarkus:0.1.0-SNAPSHOT
$ cd platypus-backend
-
Modifying the
platypus-backend/src/main/resources/application.properties
file:
quarkus.http.port=2412
-
Visit http://localhost:2412
Frontend web UI server built with Next.js and Material UI (MUI) in React, utilizing TypeScript for enhanced type safety and maintainability.
-
Install Node.js as guided in https://nextjs.org/docs/getting-started/installation
-
Create a new Next.js app
$ npx create-next-app@latest
$ cd platypus-frontend
$ npm install @mui/material @emotion/react @mui/x-data-grid @emotion/styled @mui/icons-material dayjs
-
Modifying the
platypus-frontend/package.json
file:
"scripts": {
"dev": "next dev -p 2612"
}
cd platypus-frontend
npm run dev
-
Visit http://localhost:2612