About • Techs • Getting started • Live demo •
Project made for Juntos Somos Mais front end challenge.
The project was developed with following main libraries:
app
packages
@jsm/storybook
: another Storybook app@jsm/ui
: a stub React component library shared by bothweb
andstorybook
applications
configs
@jsm/eslint-config
:eslint
configurations (includeseslint-config-next
andeslint-config-prettier
)@jsm/assets
:assets
used throughout the monorepo@jsm/ts-config
:tsconfig.json
used throughout the monorepo@jsm/tailwind-config
:tailwind.config.json
andpostcss.config.json
used throughout the monorepo
Each package/app is 100% TypeScript.
The project was developed with following main libraries:
- Styling with TailwindCSS
- Radix UI accessible and customizable library
- Storybook to create a domented app library
- React Hook Form to deal with forms
- Modern State Manager with Zustand
- Linting with Eslint
- Conventional commits with config-conventional
- Code formatting with Prettier
- Git hook with Husky
- Lint Staged to check staged files before commits
- Static Types with Typescript
- Runtime schema validation with Zod
- Generate new components with turbo/gen
Clone this repository in your local machine:
git clone https://github.com/micheldslive/jsm-challenge.git
Then move to the project directory
cd jsm-challenge
Install the project dependencies, in the root ./
of the turborepo, make sure you have node 20.11 version:
pnpm i
Create a .env
file in /apps/web
and copy the contents of .env.example and run the main web application locally and open up local host
pnpm dev
# or
yarn dev
The main components of the application were documented. To access them in their locale, open the following up local host
Michel Domingos |
This project is licensed under the MIT License - see the LICENSE page for details.