The Card Management System is our attempt to transition a web application with a monolithic backend architecture to a Service-Oriented Architecture (SOA). This project showcases different software architectural concepts such as MVC, SOA, and Communication Buses. Using technologies like ActiveMQ, SpringBoot, Maven, React and JavaScript, this application offers basic user authentication, a Shop, an Inventory and the capability to buy and sell cards. It also includes an independent module in SpringBoot for updating user properties through a communication bus.
- π User Authentication: Enables users to securely log in and sign up.
- π³ Card Transactions: Allows users to buy and sell cards.
- π₯ User Interactivity: Provides a dynamic user interface with React for an engaging experience.
- βοΈ SOA Transition: Showcases the transformation from a monolithic architecture to SOA.
- π‘ Communication Bus: Utilizes ActiveMQ for efficient message handling.
- π₯ Collaborators: @siliataider, @Eliott-rjd
- π Responsibilities:
- Development of interactive UI components using React.
- State management using Redux.
- Integration with backend APIs for authentication, card transactions, and user management.
- Styling with Semantic-UI + Bootstrap for a responsive and modern design.
- π₯ Collaborators: @merMorty, @JadGhandour
- π Responsibilities:
- Developing RESTful services for user management.
- Integration with ActiveMQ for messaging and event handling.
Before you begin, ensure you have the following installed:
- Git
- Java (JDK 8 or later)
- Node.js and npm
- ActiveMQ
- NGINX
- An IDE of your choice (e.g., IntelliJ IDEA for Spring Boot development)
- π₯ Clone the Repository: First, clone the project repository to your local machine:
git clone https://github.com/siliataider/ASI-atelier1-react-node-springboot.git
cd ASI-atelier1-react-node-springboot
- π Start the Reverse Proxy:
Navigate to the directory containing the
reverse-proxy.sh
script and run it to set up NGINX as a reverse proxy:
bash ./reverse-proxy.sh
- π± Launch the SpringBoot Application: Open the backend project in your IDE and start the SpringBoot application.
- π¨ Set Up and Run the Front-End Application: Navigate to the front-end directory, install dependencies, and start the development server:
cd front
npm install
npm run dev
- π Access the Application: The application should now be running and accessible at http://localhost:5173/.
Ensure ActiveMQ is running and properly configured to handle messages for the application. Refer to the ActiveMQ documentation for setup instructions.
Make sure NGINX is configured according to the requirements of the project, especially the reverse proxy settings for routing requests to the SpringBoot application and the React front-end.
Once the application is running, you can access the various features through the web interface, such as user authentication, card buying/selling, and viewing card details.