This is a full-stack web application for managing events. The application is built using Spring Boot, Spring Security, React, Next.js, TypeScript, Tailwind CSS, and MongoDB.
- Spring Boot🚀: Developed the backend structure and RESTful API endpoints.
- Java🚀: Employed Java for core application logic and backend development in conjunction with the Spring Boot framework.
- Spring Security🚀: Configured spring security and implemented JWT authentication.
- Next.js🚀: Used React Framework for building the frontend.
- TypeScript🚀: Ensures type safety throughout the application.
- Tailwind CSS🚀: Utility-first CSS framework for styling the UI.
- React🚀: Library for building the user interface.
- Redux🚀: For managing global state, allowing centralized control of the application state, efficiency, and scalability within the react application.
- MongoDB🚀: NoSQL database for storing user, role, and event information.
- Docker🚀: Dockerized for easy deployment and development.
- Vercel🚀: For deployment
- Components🚀: tremor
- Secure authentication using Spring Security and JWT Authentication (JSON Web Tokens).
- Role-based authorization for different user roles (e.g., admin, user, mod).
- Input validation to ensure data integrity and security.
- Implemented Login/Signup components, protected routes, and context-based authentication on the frontend.
- Moderators can create new events with details like event name, venue, date, time, etc and also edit the events.
- Users can view the events and click on the interested button if they are interested.
- The events that are expired are not displayed.
- The total number of users interested, Event name, Venue, Date, and time are displayed in the event context along with the image.
- Docker for containerization, ensuring consistent and efficient deployment of applications across various environments
- Node.js and npm installed
- Java Development Kit (JDK)
- MongoDB Cloud Cluster with Amazon Web Services Cloud provider, connected and configured to spring application
-
Clone the repository:
git clone https://github.com/yourusername/events-application.git
-
Backend Setup:
-
Navigate to the
backend
directory:cd backend
-
Install dependencies:
mvn install
-
Start the Spring Boot application:
mvn spring-boot:run
-
-
Frontend Setup:
-
Navigate to the
frontend
directory:cd frontend
-
Install dependencies:
npm install
-
Start the Next.js application:
npm run dev
-
-
Access the Application:
- Open your browser and go to http://localhost:3000.
- Navigate to the application and start managing your events!