Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zenoo/fullstack-typescript-monorepo
FullStack Typescript Monorepo, using NPM workspaces. Prisma +NodeJS + React + MUI
https://github.com/zenoo/fullstack-typescript-monorepo
fullstack monorepo mui nodejs npm-workspaces prisma react typescript
Last synced: about 1 month ago
JSON representation
FullStack Typescript Monorepo, using NPM workspaces. Prisma +NodeJS + React + MUI
- Host: GitHub
- URL: https://github.com/zenoo/fullstack-typescript-monorepo
- Owner: Zenoo
- License: mit
- Created: 2022-12-18T14:58:47.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-21T10:53:48.000Z (7 months ago)
- Last Synced: 2024-06-22T03:52:26.312Z (6 months ago)
- Topics: fullstack, monorepo, mui, nodejs, npm-workspaces, prisma, react, typescript
- Language: JavaScript
- Homepage:
- Size: 109 MB
- Stars: 4
- Watchers: 2
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
## Backend
> Made with [Node.js](https://nodejs.org/en/), [Express](https://expressjs.com/), [Prisma](https://www.prisma.io/), written in [Typescript](https://www.typescriptlang.org/).
## Frontend
> Made with [MUI's](https://mui.com/) components, [React](https://reactjs.org/) and [create-react-app](https://facebook.github.io/create-react-app/).
## How to use
- Create a new project from this template
![](https://i.imgur.com/Hc0JsXs.png)
- Install a local postgres database
- Copy `.env.sample` to `.env` and adapt the variables
- Install dependencies: `npm i` (This should also setup your database from the `schema.prisma` file and the migrations)
- Start both the server and the client with `npm run dev`
### How to sync your database with your new Prisma schema
- Run `npm run db:sync:dev`
### How to seed your database
- Edit `server/prisma/seed.ts`
- Run `npm run db:seed`
## Deployment
*This project should deploy successfully as-is on Heroku*
- Set the environment variables
- Install dependencies: `npm ci` (This should also setup your database from the `schema.prisma` file and the migrations)
- Start the server with `npm run start`
## Contributing
- Fork the project
- Make sure your NodeJS and npm versions are up to date
- Copy `.env.sample` to `.env` and adapt the database URL
- Install dependencies: `npm i` (This should also setup your database from the `schema.prisma` file and the migrations)
- Start both the server and the client with `npm run dev`
- Commit and push your changes
- Create a pull request
## Documentation
Every
- Component
- Method
- CallbackShould have a corresponding documentation.
## File Structure
```
├── client
│ ├── build # Compiled frontend
│ ├── public
│ │ ├── i18n # Folder containing all the translations
│ │ └── ... # Any other static file
│ └── src
│ ├── components # Reusable components
│ ├── hooks # React hooks
│ ├── layouts # Layouts
│ ├── theme # Theme variables
│ ├── utils # Utility functions
│ └── views # Views
├── core # Shared ressourcs for both front and back end
│ ├── src
├── prisma # Prisma types definitions for both front and back end
│ ├── src
└── server # Back end
├── prisma # DB
└── src
├── controllers # Controllers
├── utils # Utility functions
└── ...
```