A CRM application built with Refine, Ant Design, and React.
- Node.js (as specified in package.json)
- npm or yarn
- Clone the repository:
git clone [repository-url]
cd ST_CRM
- Install dependencies:
npm install
# or
yarn install
To start the development server:
npm run dev
# or
yarn dev
The application will be available at http://localhost:5173
by default.
The application includes authentication with:
- Email/Password login
- Google OAuth
- GitHub OAuth
Default demo credentials:
- Email: demo@refine.dev
- Password: demodemo
- Dashboard with analytics
- Post management (List, Edit, Show)
- Authentication and authorization
- Theming with Ant Design
- Responsive layout
- Refine - React-based framework
- Ant Design - UI components
- React Router - Routing
- TypeScript - Type safety
- Vite - Build tool
src/
├── App.tsx # Main application component
├── pages/ # Page components
│ ├── dashboard/
│ └── posts/
└── index.tsx # Application entry point
The application uses a REST API at https://api.fake-rest.refine.dev
. To change the API endpoint, update the API_URL
constant in src/App.tsx
.
<type>/<ticket_id>(-optional-description)
feat
: Feature branchesfix
: Bug fix branchesdocs
: Documentation changesstyle
: Style/formatting changesrefactor
: Code refactoringtest
: Test additions/modificationschore
: Maintenance tasks (can not have a ticket ID)perf
: Performance improvements (can not have a ticket ID)
feat/ERP-1
fix/ERP-2
docs/ERP-3
refactor/ERP-4
test/ERP-5
chore/update-dependencies
<type>: [<user_story_id/task_id>] <subject>
[optional body]
[optional footer]
feat
: A new featurefix
: A bug fixdocs
: Documentation only changesstyle
: Changes that do not affect the meaning of the code (white-space, formatting, etc)refactor
: A code change that neither fixes a bug nor adds a featuretest
: Adding missing tests or correcting existing testschore
: Changes to the build process or auxiliary tools and librariesperf
: A code change that improves performance
- Use imperative, present tense: "change" not "changed" nor "changes"
- Don't capitalize the first letter
- No dot (.) at the end
- Maximum 50 characters
feat: [ERP-1] add search by email functionality
fix: [ERP-2] resolve Google OAuth redirect issue
docs: [ERP-3] update installation instructions
style: [ERP-4] format customer list component
refactor: [ERP-5] simplify error handling logic
test: [ERP-6] add unit tests for customer creation
chore: update React dependencies
perf: optimize customer search query
- Use imperative, present tense
- Include motivation for the change
- Contrast this with previous behavior
- Wrap at 72 characters
- Reference issues and pull requests
- Note breaking changes
- Format for breaking changes: BREAKING CHANGE:
feat: [ERP-1] implement customer deletion
- Add confirmation dialog before deletion
- Include cascade deletion of related records
- Add activity logging for deletion events
Closes #123
BREAKING CHANGE: Customer deletion now requires admin role
✅ Do:
- Keep commits atomic (one logical change per commit)
- Write meaningful commit messages
- Use the type and scope consistently
- Reference issues in the footer
❌ Don't:
- Mix multiple unrelated changes in one commit
- Write vague messages like "fix stuff"
- Forget to specify the type
- Exceed character limits