This is a React-based Club Management System application that allows users to manage clubs and their associated books. The app supports two types of users: members and organizers, each with different access and functionalities.
- User authentication with role-based access control (members and organizers).
- Members can view a list of clubs.
- Organizers have a dedicated dashboard to manage clubs.
- Ability to add clubs and manage books associated with each club.
- Persistent state using localStorage for user sessions and club data.
- Responsive UI with components styled using Flowbite and Lucide-react icons.
- Routing handled by React Router with private and public routes.
- Clone the repository:
git clone <repository-url>
- Navigate to the project directory:
cd club-management-system - Install dependencies:
npm install
- Start the development server:
npm start
- Open your browser and go to http://localhost:3000 to use the app.
- Member Role: After logging in as a member, you will be directed to the club list page where you can browse available clubs.
- Organizer Role: After logging in as an organizer, you will access the organizer dashboard to manage clubs and their books.
- Authentication: Use the login and registration pages to create and access your account.
- Routing: The app uses protected routes to ensure only authorized users can access certain pages.
- React 19
- React Router DOM
- Flowbite (UI components)
- Lucide-react (Icons)
- LocalStorage for state persistence
- Create React App for project setup
src/components/- React components for UI and features.src/context/- React context providers for authentication and club management.public/- Static assets and HTML template.package.json- Project metadata and dependencies.
Contributions are welcome! Please fork the repository and submit a pull request for any improvements or bug fixes.
This project is licensed under the MIT License.