This project is a full-stack web application for user role management with secure authentication using JSON Web Tokens (JWT). It consists of a React frontend and Node.js/Express backend, providing a robust system for managing user roles and permissions.
- User authentication using JWT
- Role-based access control
- Secure password handling with bcrypt
- MySQL database integration with Sequelize ORM
- Responsive UI built with React and Bootstrap
- Protected routes and API endpoints
- React 17.x
- React Router DOM for navigation
- React Bootstrap for UI components
- Axios for API requests
- FontAwesome icons
- React Toastify for notifications
- SASS for styling
- Node.js with Express
- MySQL database
- Sequelize ORM
- JWT for authentication
- bcryptjs for password hashing
- Body-parser for request parsing
- CORS enabled
- nodemon for development
- Node.js (v12 or higher)
- MySQL Server
- npm or yarn package manager
The application will be available at http://localhost:3000
├── FE/ # Frontend React application
│ ├── src/
│ ├── public/
│ └── package.json
│
└── BE/ # Backend Node.js application
├── src/
├── .env
└── package.json
- User registers or logs in
- Server validates credentials and issues JWT
- JWT is stored in cookies
- Subsequent requests include JWT in Authorization header
- Protected routes/resources verify JWT before granting access
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
ISC License - See LICENSE file for details
Bảo Duy (git: vitmetmoi)
- React team for the amazing frontend library
- Node.js community for the robust backend ecosystem
- All contributors and package maintainers used in this project