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