Use Cases - OmegaOoh/ku-tangtee GitHub Wiki

Top priority features

Feature Explanation Use Cases
Display activities User can see all available activities The application will take the activity data from the database, filtering out only ones that aren't ended, and pass it as the context for the view to render the page.
Create activity Activity can be created by any user When a user creates an activity with the desired options, an activity object containing information such as date and location is generated and saved to the database.
Search/Filter activities User can select the categories and search for specific activities. When a user filters categories or searches with a specific word, the application filters activity objects that match the user's desire and pass them as the context for the view to render the page.
Join/Leave activity User can join and leave any activities After the user joins the activity, the object containing the information will be created, and the data will be saved to the database, which will be used to filter the activity the user is in afterward. On the other side, leaving the activity will delete that object and data.
Real-time chat User can chat with other activity participants Use Django Channels and WebSockets to maintain a connection between the client and server. Users handle the WebSocket connections and message processing, while channel layers facilitate message broadcasting to all participants.