A full-stack e-commerce site with Java Spring Boot and Next.js to interact with dragons.
- Node.js
v12.13.*
- Java
14
JDK - JavaScript Package Manager Yarn
v1.22.*
- Java Build Tool Gradle
v6.5
- PostgreSQL
v9.6+
installed, here via Docker
Make sure an active instance of PostgresSQL is running with default port 5432, or here we start an instance with Docker:
docker run --name dragonstack-psql \
-p 5432:5432 \
-e POSTGRES_DB=dragonstack \
-e POSTGRES_PASSWORD=mysecretpassword \
-d postgres:9.6-alpine
For api server, to start a Spring Boot
RESTful APIs service, run:
cd backend && ./gradlew bootRun
For website, to start a dev server with hot-reload, run:
cd frontend
yarn && yarn dev
Otherwise, to start a production SSR website, first build sites with webpack then start an express server to render the page, more details on Next.js - an opinionated react framework.
cd frontend
yarn && yarn build && yarn start
The website can be found on localhost:8080
There is currently no testing on this project.
Currently using eslint, prettier and typescript to improve code quality for frontend development.
With husky's git hooks helper and lint-stage linter helper, we automatically run prettier
and eslint
before commits, and do a type-check with typescript
before pushing commits.
To manually start the check, run
yarn format && yarn lint && yarn type-check
- Next.js v9.4.4 - Production grade React applications that scale. The world’s leading companies use
Next.js
by Vercel to build static and dynamic websites and web applications. - Spring Boot v2.3.1 - the world's most popular Java framework focusing on speed, simplicity, and productivity.
This project is licensed under the MIT License - see LICENSE for details
- Ideas on top of the Udemy course Master Full-Stack Web Development | Node, SQL, React, & More
- A quick outline
- More potential features can also be found on Course Challenges
- Future tech stack
- Special thanks to #vikpe for his amazing template vikpe/react-webpack-typescript-starter