This is a club event management application developed using Dart and Flutter. The application allows club members and admins to post about upcoming events. Other users can view these events and see posts on the respective club's page.
-
Post Operations: Users can create a new post, can edit the post later and can also delete it forever. They can add text content and also attach an image from their gallery. The text content supports special characters as well.
-
Event Operations: Users can create a new event, can edit the event later and can also delete it forever. They can add an event name, description, date, time, and also attach banner image for events. Users can also add those events to their calendar
-
Club Operations: Users can create a new club, can modify club details later and can also delete it forever. They can add a club name, description, and also attach an image for display picture.
-
Feedback System: U 8E34 sers can create feedback forms for events and end users can submit their feedback.
-
Admin Functionalities: There are some specific widgets and tasks that can be accessed only by admins.
-
Theme Support: The application supports both light and dark themes. The theme colors are dynamically applied based on the current theme setting of the user's device.
-
Error Handling: Error handling is done at its best so that the app will display a snackbar of what occurred from the client side or server side
Role | View Events/Posts | Create Events | Edit/Delete Events | Create Posts | Edit/Delete Posts | Give Feedback |
---|---|---|---|---|---|---|
User | ✅ | ⬜ | ⬜ | ⬜ | ⬜ | ✅ |
Club Member | ✅ | ✅ (their club only) | ✅ (their club only) | ✅ (their club only) | ✅ (their club only) | ✅ |
Admin | ✅ | ✅ (all clubs) | ✅ (all clubs) | ✅ (all clubs) | ✅ (all clubs) | ✅ |
Role | Add/Remove Members from Club | Add/Remove members from Admin | Create Clubs | Edit/Delete Clubs | Create Feedback Forms | View Feedback Responses |
---|---|---|---|---|---|---|
User | ⬜ | ⬜ | ⬜ | ⬜ | ⬜ | ⬜ |
Club Member | ✅ | ⬜ | ⬜ | ⬜ | ✅ (their club only) | ✅ (their club only) |
Admin | ✅ | ✅ | ✅ | ✅ | ✅ (all clubs) | ✅ (all clubs) |
Follow these steps to setup and run the application locally:
-
Clone the Repository: First, clone the repository to your local machine using the following command:
git clone https://github.com/SKGEzhil/club-app-flutter.git
-
Install Flutter: If you haven't already, install Flutter on your machine. You can follow the instructions provided in the official Flutter installation guide.
-
Get Dependencies: Navigate to the project directory in your terminal and run the following command to get the necessary dependencies:
flutter pub get
-
Run the Application: Finally, run the application using the following command:
flutter run
Before running the application, you need to make a few updates:
-
Update Endpoint URL: Open the
config/constants.dart
file and update theendPoint
with the URL of your backend server.const endPoint = 'http://10.0.2.2:4000';
-
Update AWS Secrets: The application uses AWS S3 for image storage. You need to update the AWS secrets in the
lib/utils/network_services/image_service.dart
file.final credentials = AwsClientCredentials(accessKey: AWS_ACCESS_KEY, secretKey: AWS_SECRET_KEY);