Skip to content

Coding Factory: A training center platform that recommends personalized courses using sentiment analysis. Features user management, events, evaluations, consulting services, and final project (PFE) support for a complete educational experience.

Notifications You must be signed in to change notification settings

Ameni02/CodingFactory-WebSite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

58 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Coding Factory Logo

πŸš€ Coding Factory Platform - Full-Stack Training Management System

Spring Boot Angular Microservices AI Powered Esprit School of Engineering

A Smart Training Center Platform with AI-Powered Recommendations and Intelligent Course Management

Overview β€’ Features β€’ Architecture β€’ Technologies β€’ Directory Structure β€’ Getting Started β€’ Modules β€’ FAQ β€’ Team β€’ Acknowledgments


πŸ“‹ Overview

Coding Factory Landing Page

Coding Factory Platform - Landing Page

Coding Factory is an innovative training center platform developed at #Esprit_school_of_engineering that suggests personalized training courses to users. Built with a modern microservices architecture, it helps students find the most relevant programming and technology courses based on their interests and career goals.

The platform's main role is to recommend appropriate trainings using intelligent features like sentiment analysis on course reviews. It also manages users, events, evaluations, consulting services, and final projects (PFE - Final Year Project) to provide a complete educational experience.

This project was developed as part of the curriculum at Esprit School of Engineering to create a full-stack application that demonstrates real-world software engineering practices and emerging technologies in AI and web development.

✨ Key Features

User Management
User Management
Authentication, role-based access control, and profile management
Training Management
Training Center
Course suggestions, enrollment, and intelligent recommendations
Event Management
Event Management
Organization, registration, and participant tracking
Evaluation System
Evaluation System
Assessment creation, grading, and performance analytics
Consulting Services
Consulting Services
Appointment scheduling and session tracking
PFE Space
PFE Space
Project management with AI-powered tools

πŸ€– AI-Powered Features

  • CV Analysis & Project Matching - Automatically match students to projects based on skills
  • Cover Letter Generation - AI-generated personalized cover letters
  • Plagiarism Detection - Ensure originality in student submissions
  • AI Chatbot - Intelligent assistant for project-related questions

πŸ—οΈ Architecture

Microservices Architecture

The platform follows a microservices architecture for scalability and maintainability:

🌐 Gateway Layer

  • API Gateway
  • Eureka Service Discovery
  • Config Server

πŸ”§ Core Services

  • User Service
  • Training Service
  • Event Service
  • PFE Service

🧠 Intelligence Layer

  • Sentiment Analysis
  • AI Service
  • Recommendation Engine

πŸ› οΈ Technologies

πŸ”™ Backend

Spring Java PostgreSQL Docker Python

  • Spring Boot - Core framework for microservices
  • Spring Security - Authentication and authorization
  • Spring Cloud - Service discovery, configuration, and API gateway
  • Spring Data JPA - Database interaction
  • PostgreSQL/MySQL - Primary databases
  • Docker - Service containerization
  • Hugging Face API - AI models for NLP tasks
  • Python Flask - Sentiment analysis service

πŸ–₯️ Frontend

Angular TypeScript Bootstrap HTML5 CSS3

  • Angular - Main frontend framework
  • TypeScript - Programming language
  • Bootstrap - Responsive UI components
  • PrimeNG - Advanced UI components
  • RxJS - Asynchronous data handling
  • HTML5/CSS3 - Markup and styling

οΏ½ Directory Structure

Directory Structure
CodingFactory-WebSite/
β”œβ”€β”€ Backend/
β”‚   β”œβ”€β”€ Microservices/
β”‚   β”‚   β”œβ”€β”€ ApiGateway/                # API Gateway service
β”‚   β”‚   β”œβ”€β”€ ConfigServer/              # Configuration server
β”‚   β”‚   β”œβ”€β”€ EurekaServer/              # Service discovery
β”‚   β”‚   β”œβ”€β”€ Gestion_Evenement/         # Event management service
β”‚   β”‚   β”œβ”€β”€ Gestion_Formation/         # Training management service
β”‚   β”‚   β”œβ”€β”€ Gestion_User/              # User management service
β”‚   β”‚   β”œβ”€β”€ PFESpace/                  # Final year project space service
β”‚   β”‚   └── SentimentAnalysis/         # Python sentiment analysis service
β”‚   └── docker-compose.yml             # Docker configuration
β”œβ”€β”€ Frontend/
β”‚   └── coding_factory_front/
β”‚       β”œβ”€β”€ src/
β”‚       β”‚   β”œβ”€β”€ app/
β”‚       β”‚   β”‚   β”œβ”€β”€ components/        # Reusable UI components
β”‚       β”‚   β”‚   β”œβ”€β”€ models/            # Data models and interfaces
β”‚       β”‚   β”‚   β”œβ”€β”€ services/          # API services and business logic
β”‚       β”‚   β”‚   β”œβ”€β”€ shared/            # Shared utilities and helpers
β”‚       β”‚   β”‚   └── views/             # Page components
β”‚       β”‚   β”œβ”€β”€ assets/                # Static assets and images
β”‚       β”‚   └── environments/          # Environment configurations
β”‚       └── package.json               # Frontend dependencies
└── README.md                          # Project documentation

οΏ½πŸš€ Getting Started

Getting Started

Prerequisites

  • β˜• Java 17+
  • πŸ“¦ Node.js & Angular CLI
  • 🐳 Docker
  • πŸ—„οΈ PostgreSQL/MySQL
  • 🐍 Python 3.8+ (for sentiment analysis)
  • πŸ“Š Maven

Installation

πŸ”§ Backend Setup
# Clone the repository
git clone https://github.com/your-username/coding-factory-platform.git

# Navigate to backend directory
cd Backend

# Build the project
mvn clean install

# Start the services
docker-compose up

πŸ’‘ Tip: Make sure Docker is running before starting the services.

πŸ–₯️ Frontend Setup
# Navigate to frontend directory
cd Frontend/coding_factory_front

# Install dependencies
npm install

# Start the development server
ng serve

πŸ’‘ Tip: The application will be available at http://localhost:4200

🧠 Sentiment Analysis Service Setup
# Navigate to sentiment analysis directory
cd Backend/Microservices/SentimentAnalysis

# Install dependencies
pip install -r requirements.txt

# Start the service
python sentiment_api.py

πŸ’‘ Tip: The service will be available at http://localhost:5000

πŸ” Module Details

πŸ‘€ User Management


  • Authentication: Secure login with JWT tokens
  • Role Management: Admin, Trainer, Student, Consultant
  • Profile Settings: Customizable user profiles
  • Security: Password encryption and account recovery
User Management

πŸ“š Training Center


  • Course Suggestions: Personalized training recommendations
  • Enrollment: Easy registration for suggested courses
  • Smart Recommendations: Based on sentiment analysis of reviews
  • Comment Filtering: Find the most positively reviewed trainings
  • Career Path Guidance: Courses aligned with career goals
Training Center

πŸŽ“ PFE Space


  • Project Management: Creation, assignment, and tracking
  • AI Matching: CV analysis and project matching with SBERT
  • Document Generation: AI-powered cover letter creation
  • Plagiarism Detection: Ensure originality in submissions
  • AI Assistant: Chatbot for project-related questions
  • Admin Management: Comprehensive admin dashboard for platform oversight
PFE Space

❓ FAQ

FAQ
How does the recommendation system work?

The system uses sentiment analysis on training comments to prioritize courses with positive feedback. It employs either XGBoost or NLTK's VADER analyzer to classify comments and rank courses accordingly. This creates a personalized learning experience based on what other students have found most valuable.

Can I use the platform without the AI features?

Yes, all AI features are optional and the platform functions fully without them. They simply enhance the user experience when enabled. The core functionality of user management, training courses, and event organization works independently of the AI components.

How secure is the user data?

The platform implements Spring Security with JWT authentication, role-based access control, and secure password storage to protect user data. All sensitive information is encrypted, and the system follows industry best practices for data protection and privacy.

Is the platform mobile-friendly?

Yes, the Angular frontend is fully responsive and works on mobile devices, tablets, and desktops. Users can access all features from any device with a modern web browser.

What can administrators do in the platform?

Administrators manage the entire platform through a centralized dashboard. They handle user accounts, create and monitor training courses, manage events, oversee PFE projects, access analytics, and configure system settings. The admin dashboard provides quick access to all management functions.

πŸ‘₯ Team

This project was developed by students from 4 SAE5:

Ameni Zoubeir β€’ Mohamed Amine Kalai β€’ Mouna Chokri β€’ Ons Fendouli β€’ Belkis Sekri β€’ Mootaz Chouchene

πŸ“ž Contact

You can reach us through our GitHub accounts.

πŸ™ Acknowledgments

This project was completed under the guidance of professors at Esprit School of Engineering.

Special thanks to all mentors and advisors who contributed to the success of this project.

Built with ❀️ by the Coding Factory Team 4SAE5

About

Coding Factory: A training center platform that recommends personalized courses using sentiment analysis. Features user management, events, evaluations, consulting services, and final project (PFE) support for a complete educational experience.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5