Skip to content

lequokhanh/javafx-english-center

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 

Repository files navigation

English Center Management App

This application streamlines English center operations, enhances student experience, and improves teacher-student communication. It's written in Java using JavaFX and Maven.

Table of Contents

📄 Project Overview

This project, developed collaboratively with classmates, provided practical experience in system analysis and design.

Introduction

  • 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.

Research Problems

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.

Objectives

  • 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.

Scope and Limitations

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.

Development Tools

  • Visual Studio Code/ IntelliJ IDEA.
  • Java.
  • Oracle database.
  • Figma.
  • StarUML.

🔎 Requirement Specification

  • Survey of the Organization

    • Overview of the current organizational situation.
  • Survey of Business Processes and Major Activities

    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.
  • Software Requirements

    • 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.

🔎 Analysis and Design

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

🛠 Implementation and Testing

  • Implementation Environment

    • Operating Systems: Windows 11, MacOS Ventura.
    • Database: Oracle database.
    • IDE: IntelliJ IDEA.
    • Programming Language: Java.
    • Libraries: JavaFX, Lombok, PDFBox.
  • User Interface

    Screenshots and explanations: link

📜 Useful Links

  • Figma design: link

🤝 Contribution

  • 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.

📧 Contact

g.kietle@gmail.com, lequockhanhkt03@gmail.com

Building and Running the App

  1. Clone the repository: git clone <repository_url>
  2. Open the project in your IDE.
  3. Build: mvn clean install
  4. Run: mvn javafx:run

Creating a .env File

  1. Create a file named .env in the project root directory.
  2. 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 
    
  3. Access environment variables in your Java code using Env.get("VARIABLE_NAME").

About

English Center Management App

Topics

Resources

Stars

Watchers

Forks