A comprehensive event management system built with Spring Boot and React, featuring user authentication, event management, ticket sales, and more.
- User Authentication and Authorization
- Event Management (Create, Read, Update, Delete)
- Ticket Sales and Management
- Event Categories and Tags
- Search and Filtering
- File Upload (Images, Documents)
- Email Notifications
- Responsive Design
- RESTful API
- Swagger Documentation
- Java 17
- Spring Boot 3.2.3
- Spring Security
- Spring Data JPA
- MySQL
- JWT Authentication
- Maven
- Swagger/OpenAPI
- React 18
- TypeScript
- Material-UI
- Redux Toolkit
- React Router
- Axios
- Formik & Yup
- Java 17 or higher
- Node.js 16 or higher
- MySQL 8.0 or higher
- Maven
- npm or yarn
- Clone the repository:
git clone https://github.com/yourusername/liqaatech.git
cd liqaatech
- Configure the database:
- Create a MySQL database named
liqaatech
- Update
application.properties
with your database credentials
- Build and run the backend:
mvn clean install
mvn spring-boot:run
The backend will be available at http://localhost:8080/api
- Navigate to the frontend directory:
cd frontend
- Install dependencies:
npm install
- Start the development server:
npm start
The frontend will be available at http://localhost:3000
Swagger documentation is available at:
- Swagger UI:
http://localhost:8080/api/swagger-ui.html
- OpenAPI JSON:
http://localhost:8080/api/api-docs
liqaatech/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── LiqaaTech/
│ │ │ ├── Config/
│ │ │ ├── Controllers/
│ │ │ ├── DTOs/
│ │ │ ├── Entities/
│ │ │ ├── Exceptions/
│ │ │ ├── Repositories/
│ │ │ ├── Security/
│ │ │ └── Services/
│ │ └── resources/
│ │ ├── static/
│ │ ├── templates/
│ │ └── application.properties
│ └── test/
├── frontend/
│ ├── public/
│ └── src/
│ ├── components/
│ ├── pages/
│ ├── services/
│ ├── store/
│ └── utils/
└── pom.xml
- JWT-based authentication
- Role-based access control
- Password encryption
- CORS configuration
- Input validation
- File upload security
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, email [email protected] or create an issue in the repository.