A course project management system designed to streamline the tracking, submission, and evaluation of academic project-based courses.
C#
3
103 commits
updated Sep 18, 2026
Hệ thống quản lý môn học đồ án, giúp tự động hóa việc theo dõi, nộp bài, và đánh giá các dự án học thuật tại trường đại học. / A course project management system designed to streamline the tracking, submission, and evaluation of academic project-based courses.
📚 Khám phá tài liệu / Explore the docs »
🐛 Báo lỗi / Report Bug
|
✈️ Yêu cầu tính năng / Request Feature
|
📚 Xem Wiki / Read Wiki
|
📋 Lộ trình / Roadmap
EduProjectSpace là hệ thống quản lý môn học đồ án được phát triển để tự động hóa và tối ưu hóa quy trình quản lý học thuật tại các trường đại học, đặc biệt tại HUTECH. Hệ thống hỗ trợ quản trị viên, trưởng bộ môn, giảng viên, và sinh viên trong việc quản lý thông tin người dùng, nhóm, đề tài, bài nộp, điểm số, lịch bảo vệ, tài nguyên, và thảo luận. Với giao diện thân thiện, tích hợp công nghệ hiện đại như .NET Core 8.0, React với JavaScript/JSX, và SQL Server, EduProjectSpace đảm bảo hiệu suất cao, bảo mật, và khả năng mở rộng.
EduProjectSpace is a course project management system designed to automate and optimize academic management processes at universities, particularly HUTECH. It supports administrators, department heads, lecturers, and students in managing user information, groups, projects, submissions, grades, defense schedules, resources, and discussions. Built with modern technologies like .NET Core 8.0, React with JavaScript/JSX, and SQL Server, EduProjectSpace ensures high performance, security, and scalability.
🔗 Repository: https://github.com/NguyenTriBaoThang/EduProjectSpace
📚 Wiki: https://github.com/NguyenTriBaoThang/EduProjectSpace/wiki
Sơ đồ nghiệp vụ:
Sơ đồ kiến trúc:
EduProjectSpace cung cấp các tính năng chính sau:
Quản lý người dùng / User Management:
Quản lý môn học và kỳ học / Course & Semester Management:
Quản lý nhóm và đề tài / Group & Project Management:
Quản lý bài nộp / Submission Management:
Quản lý điểm số và phúc khảo / Grade & Review Management:
Quản lý lịch bảo vệ / Defense Schedule Management:
Quản lý nhiệm vụ và tiến độ / Task & Progress Management:
Quản lý tài nguyên và thảo luận / Resource & Discussion Management:
Thông báo và lịch / Notification & Calendar:
Bảo mật và bảo trì / Security & Maintenance:
Backend:
Frontend:
Cơ sở dữ liệu / Database:
Công cụ hỗ trợ / Tools:
EduProjectSpace/
├── EduProjectSpace.API/ # Backend (.NET Core 8.0)
│ ├── Controllers/ # API controllers
│ ├── Models/ # Entity models
│ ├── Services/ # Business logic services
│ ├── Data/ # Database context (Entity Framework Core)
│ ├── Resources/ # Google credentials and other resources
│ ├── wwwroot/submissions/ # Submission file storage
│ └── appsettings.json # Configuration file
├── EduProjectSpace.Web/ # Frontend (React or Static HTML/CSS/JS)
│ ├── src/ # React source code
│ │ ├── components/ # Reusable React components
│ │ ├── pages/ # Page components (Admin, Lecturer, Student)
│ │ ├── assets/ # Images, styles, and static files
│ │ └── App.tsx # Main React application
│ ├── static/ # Static HTML/CSS/JS for Live Server
│ │ ├── index.html # Main static page
│ │ ├── styles.css # Static styles
│ │ └── script.js # Static scripts
│ └── .env # Environment variables for React
├── docs/ # Documentation and wiki
├── scripts/ # SQL scripts for database setup
├── tests/ # Unit and integration tests
├── .gitignore # Git ignore file
├── LICENSE # MIT License
└── README.md # Project README
Hệ thống EduProjectSpace hỗ trợ hai phương án triển khai frontend: (1) sử dụng Live Server cho giao diện tĩnh (HTML/CSS/JS), và (2) sử dụng React cho giao diện động. Backend sử dụng .NET Core 8.0 với cấu hình từ file appsettings.json.
git clone https://github.com/NguyenTriBaoThang/EduProjectSpace.git
cd EduProjectSpace
Di chuyển vào thư mục backend:
cd EduProjectSpace.API
Cài đặt các gói NuGet:
dotnet restore
Tạo file appsettings.json trong thư mục EduProjectSpace.API với nội dung sau, và thay thế các placeholder bằng thông tin thực tế:
{
"GoogleCredentialPath": "Resources/credentials.json",
"ConnectionStrings": {
"DefaultConnection": "Server=[YOUR_SQL_SERVER];Database=EduProject_db;Trusted_Connection=True;TrustServerCertificate=True"
},
"HuggingFace": {
"ApiKey": "[YOUR_HUGGINGFACE_API_KEY]"
},
"Smtp": {
"Host": "smtp.gmail.com",
"Port": "587",
"Username": "[YOUR_EMAIL]",
"Password": "[YOUR_EMAIL_PASSWORD]"
},
"FileStorage": {
"BasePath": "wwwroot/submissions"
},
"Jwt": {
"Key": "[YOUR_JWT_SECRET_KEY]",
"Issuer": "EduProjectIssuer",
"Audience": "EduProjectAudience"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
[YOUR_SQL_SERVER]: Tên server SQL (VD: localhost hoặc YOUR_SERVER_NAME).[YOUR_HUGGINGFACE_API_KEY]: API key từ HuggingFace.[YOUR_EMAIL], [YOUR_EMAIL_PASSWORD]: Tài khoản và mật khẩu email SMTP (VD: Gmail).[YOUR_JWT_SECRET_KEY]: Chuỗi bí mật cho JWT (ít nhất 32 ký tự).Resources/credentials.json tồn tại cho Google API (nếu dùng).wwwroot/submissions được tạo để lưu trữ file bài nộp.Chạy migrations để tạo cơ sở dữ liệu:
dotnet ef migrations add InitialCreate
dotnet ef database update
Chạy backend:
dotnet run
http://localhost:5000/api.cd EduProjectSpace.Web
static/ chứa các file index.html, styles.css, và script.js.
script.js để gọi API:
const apiUrl = 'http://localhost:5000/api';
async function login(username, password) {
const response = await fetch(`${apiUrl}/Auth/login`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ username, password })
});
const data = await response.json();
console.log(data);
}
static/index.html, nhấp chuột phải và chọn Open with Live Server.http://localhost:5500 (cổng mặc định của Live Server).cd EduProjectSpace.Web
npm install
.env trong EduProjectSpace.Web với nội dung:
REACT_APP_API_URL=http://localhost:5000/api
npm start
http://localhost:3000.http://localhost:5000/api (xem Swagger tại /swagger).http://localhost:5500 để kiểm tra giao diện tĩnh.http://localhost:3000 để kiểm tra giao diện động.Users, Courses, Projects, v.v.Log hoặc file log để xác minh hoạt động.appsettings.json với chuỗi kết nối và thông tin thực tế.static/) lên Netlify, Vercel, hoặc GitHub Pages.npm run build và triển khai thư mục build/ trên Vercel, Netlify, hoặc AWS S3 với CloudFront.REACT_APP_API_URL trong .env (React) hoặc apiUrl trong script.js (Live Server) để trỏ đến backend đã triển khai.Có thắc mắc hoặc cần hỗ trợ? Liên hệ:
🌟 Cảm ơn bạn đã quan tâm đến EduProjectSpace! Triển khai hệ thống để trải nghiệm quản lý môn học đồ án hiện đại và hiệu quả! / Thank you for your interest in EduProjectSpace! Deploy the system to experience modern and efficient course project management! 🚀
Dự án được cấp phép theo MIT License.
C#
80.3%
CSS
13.9%
JavaScript
5.5%
A course project management system designed to streamline the tracking, submission, and evaluation of academic project-based courses.
C#
3
103 commits
updated Sep 18, 2026
Hệ thống quản lý môn học đồ án, giúp tự động hóa việc theo dõi, nộp bài, và đánh giá các dự án học thuật tại trường đại học. / A course project management system designed to streamline the tracking, submission, and evaluation of academic project-based courses.
📚 Khám phá tài liệu / Explore the docs »
🐛 Báo lỗi / Report Bug
|
✈️ Yêu cầu tính năng / Request Feature
|
📚 Xem Wiki / Read Wiki
|
📋 Lộ trình / Roadmap
EduProjectSpace là hệ thống quản lý môn học đồ án được phát triển để tự động hóa và tối ưu hóa quy trình quản lý học thuật tại các trường đại học, đặc biệt tại HUTECH. Hệ thống hỗ trợ quản trị viên, trưởng bộ môn, giảng viên, và sinh viên trong việc quản lý thông tin người dùng, nhóm, đề tài, bài nộp, điểm số, lịch bảo vệ, tài nguyên, và thảo luận. Với giao diện thân thiện, tích hợp công nghệ hiện đại như .NET Core 8.0, React với JavaScript/JSX, và SQL Server, EduProjectSpace đảm bảo hiệu suất cao, bảo mật, và khả năng mở rộng.
EduProjectSpace is a course project management system designed to automate and optimize academic management processes at universities, particularly HUTECH. It supports administrators, department heads, lecturers, and students in managing user information, groups, projects, submissions, grades, defense schedules, resources, and discussions. Built with modern technologies like .NET Core 8.0, React with JavaScript/JSX, and SQL Server, EduProjectSpace ensures high performance, security, and scalability.
🔗 Repository: https://github.com/NguyenTriBaoThang/EduProjectSpace
📚 Wiki: https://github.com/NguyenTriBaoThang/EduProjectSpace/wiki
Sơ đồ nghiệp vụ:
Sơ đồ kiến trúc:
EduProjectSpace cung cấp các tính năng chính sau:
Quản lý người dùng / User Management:
Quản lý môn học và kỳ học / Course & Semester Management:
Quản lý nhóm và đề tài / Group & Project Management:
Quản lý bài nộp / Submission Management:
Quản lý điểm số và phúc khảo / Grade & Review Management:
Quản lý lịch bảo vệ / Defense Schedule Management:
Quản lý nhiệm vụ và tiến độ / Task & Progress Management:
Quản lý tài nguyên và thảo luận / Resource & Discussion Management:
Thông báo và lịch / Notification & Calendar:
Bảo mật và bảo trì / Security & Maintenance:
Backend:
Frontend:
Cơ sở dữ liệu / Database:
Công cụ hỗ trợ / Tools:
EduProjectSpace/
├── EduProjectSpace.API/ # Backend (.NET Core 8.0)
│ ├── Controllers/ # API controllers
│ ├── Models/ # Entity models
│ ├── Services/ # Business logic services
│ ├── Data/ # Database context (Entity Framework Core)
│ ├── Resources/ # Google credentials and other resources
│ ├── wwwroot/submissions/ # Submission file storage
│ └── appsettings.json # Configuration file
├── EduProjectSpace.Web/ # Frontend (React or Static HTML/CSS/JS)
│ ├── src/ # React source code
│ │ ├── components/ # Reusable React components
│ │ ├── pages/ # Page components (Admin, Lecturer, Student)
│ │ ├── assets/ # Images, styles, and static files
│ │ └── App.tsx # Main React application
│ ├── static/ # Static HTML/CSS/JS for Live Server
│ │ ├── index.html # Main static page
│ │ ├── styles.css # Static styles
│ │ └── script.js # Static scripts
│ └── .env # Environment variables for React
├── docs/ # Documentation and wiki
├── scripts/ # SQL scripts for database setup
├── tests/ # Unit and integration tests
├── .gitignore # Git ignore file
├── LICENSE # MIT License
└── README.md # Project README
Hệ thống EduProjectSpace hỗ trợ hai phương án triển khai frontend: (1) sử dụng Live Server cho giao diện tĩnh (HTML/CSS/JS), và (2) sử dụng React cho giao diện động. Backend sử dụng .NET Core 8.0 với cấu hình từ file appsettings.json.
git clone https://github.com/NguyenTriBaoThang/EduProjectSpace.git
cd EduProjectSpace
Di chuyển vào thư mục backend:
cd EduProjectSpace.API
Cài đặt các gói NuGet:
dotnet restore
Tạo file appsettings.json trong thư mục EduProjectSpace.API với nội dung sau, và thay thế các placeholder bằng thông tin thực tế:
{
"GoogleCredentialPath": "Resources/credentials.json",
"ConnectionStrings": {
"DefaultConnection": "Server=[YOUR_SQL_SERVER];Database=EduProject_db;Trusted_Connection=True;TrustServerCertificate=True"
},
"HuggingFace": {
"ApiKey": "[YOUR_HUGGINGFACE_API_KEY]"
},
"Smtp": {
"Host": "smtp.gmail.com",
"Port": "587",
"Username": "[YOUR_EMAIL]",
"Password": "[YOUR_EMAIL_PASSWORD]"
},
"FileStorage": {
"BasePath": "wwwroot/submissions"
},
"Jwt": {
"Key": "[YOUR_JWT_SECRET_KEY]",
"Issuer": "EduProjectIssuer",
"Audience": "EduProjectAudience"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
}
[YOUR_SQL_SERVER]: Tên server SQL (VD: localhost hoặc YOUR_SERVER_NAME).[YOUR_HUGGINGFACE_API_KEY]: API key từ HuggingFace.[YOUR_EMAIL], [YOUR_EMAIL_PASSWORD]: Tài khoản và mật khẩu email SMTP (VD: Gmail).[YOUR_JWT_SECRET_KEY]: Chuỗi bí mật cho JWT (ít nhất 32 ký tự).Resources/credentials.json tồn tại cho Google API (nếu dùng).wwwroot/submissions được tạo để lưu trữ file bài nộp.Chạy migrations để tạo cơ sở dữ liệu:
dotnet ef migrations add InitialCreate
dotnet ef database update
Chạy backend:
dotnet run
http://localhost:5000/api.cd EduProjectSpace.Web
static/ chứa các file index.html, styles.css, và script.js.
script.js để gọi API:
const apiUrl = 'http://localhost:5000/api';
async function login(username, password) {
const response = await fetch(`${apiUrl}/Auth/login`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ username, password })
});
const data = await response.json();
console.log(data);
}
static/index.html, nhấp chuột phải và chọn Open with Live Server.http://localhost:5500 (cổng mặc định của Live Server).cd EduProjectSpace.Web
npm install
.env trong EduProjectSpace.Web với nội dung:
REACT_APP_API_URL=http://localhost:5000/api
npm start
http://localhost:3000.http://localhost:5000/api (xem Swagger tại /swagger).http://localhost:5500 để kiểm tra giao diện tĩnh.http://localhost:3000 để kiểm tra giao diện động.Users, Courses, Projects, v.v.Log hoặc file log để xác minh hoạt động.appsettings.json với chuỗi kết nối và thông tin thực tế.static/) lên Netlify, Vercel, hoặc GitHub Pages.npm run build và triển khai thư mục build/ trên Vercel, Netlify, hoặc AWS S3 với CloudFront.REACT_APP_API_URL trong .env (React) hoặc apiUrl trong script.js (Live Server) để trỏ đến backend đã triển khai.Có thắc mắc hoặc cần hỗ trợ? Liên hệ:
🌟 Cảm ơn bạn đã quan tâm đến EduProjectSpace! Triển khai hệ thống để trải nghiệm quản lý môn học đồ án hiện đại và hiệu quả! / Thank you for your interest in EduProjectSpace! Deploy the system to experience modern and efficient course project management! 🚀
Dự án được cấp phép theo MIT License.
C#
80.3%
CSS
13.9%
JavaScript
5.5%