This application streamlines English center operations, enhances student experience, and improves teacher-student communication. It's written in Java using JavaFX and Maven.
- Project Overview
- Requirement Specification
- Analysis and Design
- Implementation and Testing
- Useful Links
- Contribution
- Contact
- Building and Running the App
- Creating a .env File
This project, developed collaboratively with classmates, provided practical experience in system analysis and design.
- Many English centers struggle with manual or inefficient management processes, hindering their growth and performance.
- This application addresses these challenges with a user-friendly interface and robust features, improving efficiency and streamlining operations.
Traditional management methods often lack remote collaboration, pose security risks, and are not automation-friendly. Data management becomes increasingly difficult as English centers grow, leading to disorganization and communication issues. This application provides a solution with automation, a user-friendly UI, and diverse functionality.
- Faster database searches.
- Improved online communication between teachers and students.
- Key features include:
- Enrollment and placement test management.
- Student/Teacher management.
- User management.
- Academic and classroom management.
- Academic results and financial management.
- Analysis/reporting.
- Data recovery and backup.
Due to time and resource constraints, the project focuses on:
- User role assignment.
- Class and lesson management.
- User management.
- Course and chapter management.
- Schedule generation.
- Attendance tracking.
- Classroom management.
- Analysis/reporting.
- Visual Studio Code/ IntelliJ IDEA.
- Java.
- Oracle database.
- Figma.
- StarUML.
-
- Overview of the current organizational situation.
-
Details the processes and activities for:
- Board of Directors: Goal setting, board meetings, decision-making, financial oversight.
- Business Department: Student enrollment, student database management, marketing, promotion, customer relationship management.
- Accounting-Finance Department: Financial operations, record keeping, financial health.
- Human Resources Department: Employee recruitment, development, performance management, compliance, work culture.
- Academic Department: Managing teaching documents, providing an effective learning environment.
-
- Functional Requirements:
- Data storage for accounts, students, rooms, courses, chapters, classes, lessons, attendance, materials.
- Search functionality for classes, rooms, courses, users, chapters, lessons.
- Statistical reporting with graphs and exportable class reports.
- Non-Functional Requirements:
- Usability, reliability, performance, security, maintainability.
- Functional Requirements:
Diagrams are available for:
- Use-case Diagram: link
- Use-case Specification and Activity Diagram: link
- Sequence Diagram and Class Diagram: link
- Class Diagram and Entity Class Diagram: link
- State Diagram: link
- Mapping to Relational Model from Entity Class Diagram: link
-
- Operating Systems: Windows 11, MacOS Ventura.
- Database: Oracle database.
- IDE: IntelliJ IDEA.
- Programming Language: Java.
- Libraries: JavaFX, Lombok, PDFBox.
-
Screenshots and explanations: link
- Figma design: link
- Le Quoc Khanh: Main developer, System architect, Project manager.
- Le Gia Kiet: System analyst, Designer, Project sub-manager.
- Ninh Thien Bao: Developer, Database administrator, Reporter.
- Nguyen Thi Thuy: Reporter, Tester.
g.kietle@gmail.com, lequockhanhkt03@gmail.com
- Clone the repository:
git clone <repository_url>
- Open the project in your IDE.
- Build:
mvn clean install
- Run:
mvn javafx:run
- Create a file named
.env
in the project root directory. - Add environment variables (replace placeholders with your values):
DB_URL=jdbc:oracle:thin:@localhost:1521:orcl DB_USER=c##center_name DB_PASSWORD=password123 MATERIAL_PATH=D:\\Materials
- Access environment variables in your Java code using
Env.get("VARIABLE_NAME")
.