LeafInk is a modern web application built with Next.js, designed to provide a seamless and interactive user experience.
- Framework: Next.js
- Styling: Tailwind CSS & Sass
- Data Fetching:
- Apollo Client (GraphQL)
- Axios (REST API)
- Animation: Framer Motion & React Transition Group
- Utilities:
dayjs,clsx - Testing:
- Jest (Unit Testing)
- Playwright (End-to-End Testing)
- Code Quality:
- Node.js (see
.nvmrcfor version) - npm or yarn
-
Clone the repository:
git clone https://github.com/RajNandigalla/leaf.git cd leaf -
Install dependencies:
npm install # or yarn install
Start the development server:
npm run dev
# or
yarn devOpen http://localhost:3000 with your browser to see the result.
Run unit tests:
npm run testRun end-to-end tests:
npm run test:e2eWe use Commitizen to ensure consistent commit messages. To commit your changes:
npm run commitWe use standard-version to automatically generate changelogs based on conventional commits.
Note: Release commands should only be run by project maintainers or release managers with write access to the repository. Regular contributors should use
npm run commitfor their commits.
-
Make sure all changes are committed using conventional commits:
npm run commit
-
Run the release command:
npm run release # Automatically determines version bump based on commits npm run release:patch # For bug fixes (0.0.x) npm run release:minor # For new features (0.x.0) npm run release:major # For breaking changes (x.0.0)
-
Push the changes and tags:
git push --follow-tags origin main
When you run npm run release, the following happens automatically:
- Analyzes your commits since the last release
- Determines the appropriate version bump (based on commit types:
feat,fix, etc.) - Updates the version in
package.json - Generates/updates
CHANGELOG.mdwith all changes grouped by type - Creates a git commit with the changes
- Creates a git tag for the new version
# Make changes and commit using conventional commits
npm run commit
# (Select type: feat, fix, etc.)
# When ready to release
npm run release
# Push to remote
git push --follow-tags origin mainThe CHANGELOG.md file will be automatically updated with entries like:
- Features: New functionality added
- Bug Fixes: Issues resolved
- Documentation: Documentation updates
- And more, based on your commit types
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
This project is licensed under the MIT License - see the LICENSE file for details.