Customer Relationship Management Web App
The crm project is a comprehensive Customer Relationship Management (CRM) system designed to manage educational centers efficiently. It provides a suite of tools for managing students, managers, groups, income, expenses, and activities. This project is built using modern web technologies and is designed to be scalable and maintainable.
- Student Management: Track and manage student information and records.
- Manager Management: Manage educational center staff and their activities.
- Group Management: Organize students into groups for better management.
- Income and Expense Tracking: Monitor financial activities with detailed records.
- Activity Tracking: Keep track of all activities and events within the educational center.
- Educational institutions
- Educational center managers
- IT beginners
- Developers interested in contributing to open-source projects
- 📊 Data Visualization: Use charts and graphs to visualize data.
- 🔒 Security: Secure user authentication and data protection.
- Programming Language: TypeScript
- Frontend: React, Vite, TailwindCSS
- Backend: Express, MongoDB, Mongoose
- State Management: Zustand
- Authentication: JSON Web Tokens (JWT)
- Testing: ESLint, Ts
- Node.js (v20 or later)
- npm (v6 or later)
-
Clone the repository & Open 2 Terminals:
git clone https://github.com/Asuzaka/crm.git cd crm -
Enter & Install dependencies (Fronend):
cd frontend npm install -
Enter & Install dependencies (Backend):
cd backend npm install -
Run the development server (Run both of them):
npm run dev
- Customizing Themes: TailwindCSS allows for easy customization of the UI.
crm/
├── backend/
│ ├── src/
│ │ ├── app/
│ │ ├── services/
│ │ ├── constants/
│ │ ├── index.ts
| | ├── ....
│ ├── package.json
│ ├── tsconfig.json
│ └── .gitignore
├── frontend/
│ ├── public/
│ ├── src/
│ │ ├── app/
│ │ ├── features/
│ │ ├── entities/
│ │ ├── pages/
│ │ ├── index.css
│ │ ├── index.html
│ │ ├── main.tsx
| | ├── ....
│ ├── package.json
│ ├── tsconfig.json
│ └── .gitignore
├── LICENSE
└── README.md
- Environment Variables: Use
.env || .env.localfiles for environment-specific configurations. - Configuration Files: Refer to
tsconfig.jsonfor TypeScript configuration.
We welcome contributions from the community! Here's how you can get started:
- Follow the FSD (Feature Sliced Design) for Frontend.
- Use ESLint for linting.
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Push your branch to your fork.
- Open a pull request to the main repository.
This project is licensed under the MIT License - see the LICENSE file for details.
- Maintainer: [Asuzaka]
- Contributors: [List of contributors]
- Report Issues: Open an issue on the GitHub repository.
- Get Help: Contact directly me on Email or Telegram.
-
Planned Features:
- Implement user roles and permissions.
- Add support for multi-language interfaces.
- Enhance data analytics and reporting features.
-
Known Issues:
-
Planned Improvements:
- Refactoring UI repeated elements.
- Improve performance and scalability (as far as i can go with my knowlendge).
