- Node.js (v14.0.0 trở lên)
- MongoDB (v4.0.0 trở lên)
- npm hoặc yarn
- Clone repository
git clone https://github.com/username/project-name.git
cd project-name- Cài đặt dependencies
# Cài đặt dependencies cho backend
cd server
npm install
# Cài đặt dependencies cho frontend
cd ../frontend
npm install- Cấu hình môi trường
# Tạo file .env trong thư mục server
cp .env.example .env
# Chỉnh sửa các biến môi trường trong file .env- Khởi chạy ứng dụng
# Khởi chạy backend
cd server
npm run dev
# Khởi chạy frontend (trong terminal khác)
cd frontend
npm start
### 5. Cách sử dụng
```markdown
## Cách sử dụng
### Đăng nhập
1. Truy cập ứng dụng tại `http://localhost:3000`
2. Đăng nhập với tài khoản mặc định:
- Email: [email protected]
- Mật khẩu: password123
### Quản lý sinh viên
1. Đăng nhập với tài khoản giáo viên
2. Truy cập trang "Quản lý sinh viên"
3. Thêm, sửa, xóa sinh viên theo hướng dẫn trên giao diện
## Tính năng
- **Quản lý người dùng**: Đăng ký, đăng nhập, phân quyền
- **Quản lý sinh viên**: Thêm, sửa, xóa, xem thông tin sinh viên
- **Quản lý lớp học**: Tạo lớp, gán sinh viên vào lớp
- **Báo cáo**: Xuất báo cáo theo lớp, theo sinh viên
- **Giao diện thân thiện**: Thiết kế responsive, dễ sử dụng## Cấu trúc dự án
project-name/
├── frontend/
│ ├── public/ Tài nguyên tĩnh
│ ├── src/ Mã nguồn
│ │ ├── components/ Components tái sử dụng
│ │ ├── pages/ Các trang
│ │ ├── context/ Context API
│ │ ├── hooks/ Custom hooks
│ │ ├── services/ API services
│ │ ├── styles/ CSS/SCSS
│ │ └── utils/ Tiện ích
│ └── package.json Dependencies frontend
│
├── server/ Backend Node.js
│ ├── src/ Mã nguồn
│ │ ├── controllers/ Controllers
│ │ ├── models/ Models
│ │ ├── routes/ Routes
│ │ ├── middleware/ Middleware
│ │ ├── utils/ Tiện ích
│ │ └── config/ Cấu hình
│ └── package.json Dependencies backend
│
└── README.md Tài liệu dự án
- Truy cập ứng dụng tại
http://localhost:3000 - Đăng nhập với tài khoản mặc định:
- Email: [email protected]
- Mật khẩu: password123
- Đăng nhập với tài khoản giáo viên
- Truy cập trang "Quản lý sinh viên"
- Thêm, sửa, xóa sinh viên theo hướng dẫn trên giao diện: { "id": "60d21b4667d0d8992e610c85", "name": "John Doe", "email": "[email protected]", "role": "teacher" } }
### Students
#### GET /api/students
Lấy danh sách sinh viên.
**Response:**
```json
{
"success": true,
"data": [
{
"id": "60d21b4667d0d8992e610c85",
"name": "Student Name",
"email": "[email protected]",
"class": "Class A"
}
]
}
### 9. Đóng góp
```markdown
## Đóng góp
Chúng tôi hoan nghênh mọi đóng góp! Vui lòng làm theo các bước sau:
1. Fork dự án
2. Tạo nhánh mới (`git checkout -b feature/amazing-feature`)
3. Commit thay đổi (`git commit -m 'Add some amazing feature'`)
4. Push lên nhánh (`git push origin feature/amazing-feature`)
5. Tạo Pull Request
Vui lòng đọc [CONTRIBUTING.md](CONTRIBUTING.md) để biết thêm chi tiết về quy tắc đóng góp.
## Giấy phép
Dự án này được cấp phép theo giấy phép MIT - xem file [LICENSE](LICENSE) để biết thêm chi tiết.