ONLINE EVENT MANAGEMENT


EVENT MANAGEMENT INTERFACE

import java.rmi.Remote;

import java.rmi.RemoteException;

import java.util.List;


public interface EventManager extends Remote {

    void createEvent(String eventName, String eventDate) throws RemoteException;

    List<String> getEvents() throws RemoteException;

    void registerForEvent(String eventName, String participantName) throws RemoteException;

    boolean isRegistered(String eventName, String participantName) throws RemoteException;

}

EVENT MANAGEMENT IMPLEMENTATION
 
import java.rmi.server.UnicastRemoteObject;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.List;

public class EventManagerImpl extends UnicastRemoteObject implements EventManager {
    private List<String> events;
    private List<String> registrations;

    public EventManagerImpl() throws RemoteException {
        super();
        events = new ArrayList<>();
        registrations = new ArrayList<>();
    }

    public void createEvent(String eventName, String eventDate) throws RemoteException {
        events.add(eventName + " on " + eventDate);
        System.out.println("Event Created: " + eventName + " on " + eventDate);
    }

    public List<String> getEvents() throws RemoteException {
        return events;
    }

    public void registerForEvent(String eventName, String participantName) throws RemoteException {
        registrations.add(participantName + " registered for " + eventName);
        System.out.println(participantName + " registered for " + eventName);
    }

    public boolean isRegistered(String eventName, String participantName) throws RemoteException {
        return registrations.contains(participantName + " registered for " + eventName);
    }
}

EVENT MANAGER SERVER

import java.rmi.Naming;
import java.rmi.registry.LocateRegistry;

public class EventManagerServer {
    public static void main(String[] args) {
        try {
            EventManagerImpl eventManager = new EventManagerImpl();
            
            LocateRegistry.createRegistry(1099); 

            Naming.rebind("EventManager", eventManager);

            System.out.println("EventManager Server is ready.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

EVENT MANAGEMENT CLIENT

import java.rmi.Naming;
import java.util.List;
import java.util.Scanner;

public class EventManagerClient {
    private static EventManager eventManager;

    public static void main(String[] args) {
        try {
            eventManager = (EventManager) Naming.lookup("rmi://localhost/EventManager");
            Scanner scanner = new Scanner(System.in);

            while (true) {
                System.out.println("\n----- Event Management System -----");
                System.out.println("1. Create Event");
                System.out.println("2. View Events");
                System.out.println("3. Register for Event");
                System.out.println("4. Check Registration");
                System.out.println("5. Exit");
                System.out.print("Enter your choice: ");
                int choice = scanner.nextInt();
                scanner.nextLine(); 

                switch (choice) {
                    case 1:
                        createEvent(scanner);
                        break;
                    case 2:
                        viewEvents();
                        break;
                    case 3:
                        registerForEvent(scanner);
                        break;
                    case 4:
                        checkRegistration(scanner);
                        break;
                    case 5:
                        System.out.println("Exiting...");
                        return;
                    default:
                        System.out.println("Invalid choice. Please try again.");
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private static void createEvent(Scanner scanner) {
        System.out.print("Enter event name: ");
        String eventName = scanner.nextLine();
        System.out.print("Enter event date (YYYY-MM-DD): ");
        String eventDate = scanner.nextLine();
        try {
            eventManager.createEvent(eventName, eventDate);
            System.out.println("Event created successfully.");
        } catch (Exception e) {
            System.out.println("Error creating event: " + e.getMessage());
        }
    }

    private static void viewEvents() {
        try {
            List<String> events = eventManager.getEvents();
            if (events.isEmpty()) {
                System.out.println("No events available.");
            } else {
                System.out.println("Upcoming Events:");
                for (String event : events) {
                    System.out.println(event);
                }
            }
        } catch (Exception e) {
            System.out.println("Error retrieving events: " + e.getMessage());
        }
    }

    private static void registerForEvent(Scanner scanner) {
        System.out.print("Enter event name to register for: ");
        String eventName = scanner.nextLine();
        System.out.print("Enter your name: ");
        String participantName = scanner.nextLine();
        try {
            eventManager.registerForEvent(eventName, participantName);
            System.out.println("You have successfully registered for " + eventName);
        } catch (Exception e) {
            System.out.println("Error registering for event: " + e.getMessage());
        }
    }

    private static void checkRegistration(Scanner scanner) {
        System.out.print("Enter event name to check registration: ");
        String eventName = scanner.nextLine();
        System.out.print("Enter your name: ");
        String participantName = scanner.nextLine();
        try {
            boolean isRegistered = eventManager.isRegistered(eventName, participantName);
            if (isRegistered) {
                System.out.println("You are registered for " + eventName);
            } else {
                System.out.println("You are not registered for " + eventName);
            }
        } catch (Exception e) {
            System.out.println("Error checking registration: " + e.getMessage());
        }
    }
}


SERVER OUTPUT
 




CLIENT OUTPUT



































Comments

  1. Thanks for sharing such valuable ideas! Partnering with experienced San Diego trade show booth builders can truly transform a company’s image at big conventions.Trade show exhibit and booth builder company

    ReplyDelete
  2. Great insights shared in this blog about online event management! It’s amazing how technology has made organizing events more seamless and efficient. For those planning hybrid or virtual events, partnering with reliable AV rental Miami services can make a huge difference in ensuring smooth audio-visual support and professional-quality presentations. Excellent read for anyone looking to level up their event experience!

    ReplyDelete

Post a Comment