A boilerplate to create full stack web application. Built with monorepo so you can replace frontend and backend easily.
Both backend and frontend use typescript. Not really a fan of it, but I think that's the modern and expected stack for modern web projects these days.
- Typescript
- Next.js
- Material UI
- Typescript
- Node.js with express
- Postgresql
- Typeorm
- will have dashboard and landing page layout
- built with next.js, so enhancement from next.js is built in out of the box
- standardized express response
- you can call
res.customSuccess()
for success response andcatch(customeError)
to pass the error to error middleware and return error response
- you can call
- easily change database orm
- the layers in the backend are route -> controller -> service -> dao. Technically, you can change the orm or use different database in dao level
- If you don't have
nx
installed globally, then simply runnpx nx dev server
to run backend ornpx nx dev web
to run frontend. - Or you can run
yarn dev
and it will run both backend and frontend
- frontend packages is located under
packages/web
- it uses next js 13 with new app directory as default. You can switch to normal packages directory with these steps:
- change
packages/web/next.config.js
to disable new _app directory
const nextConfig = {
reactStrictMode: true,
experimental: {
appDir: true,
},
};
- Rename
packages/web/app
topackages/web/_app
, or you can remove the folder instead if you are sure you will not be reverting back to new app directory structure - Rename
packages/web/_pages
topackages/web/pages
I will add more features in the future. Currently will focus more on tooling first like setting up eslint.
- Server - Eslint
- Server - Prettier
- Web - Eslint
- Web - Prettier