The Interview Experience Portal is a web application aimed at helping people learn from the interview experiences of others. It provides a platform where users can share their interview experiences and browse through experiences shared by others, thus gaining insights and knowledge about various companies, job positions, and interview processes.
- Post and view interview experiences
- Upvote or downvote experiences to indicate their helpfulness
- Backend: Spring Boot with Java
- Frontend: ReactJS
- Backend Deployment: AWS RDS and EC2
- Frontend Deployment: AWS S3
The project can be deployed to AWS using the following steps:
- Set up an AWS account and create an EC2 instance for hosting the backend server.
- Connect to the EC2 instance using SSH.
- Install Java and any other required dependencies on the EC2 instance.
- Clone the project repository from GitHub onto the EC2 instance.
- Configure the backend application properties file to connect to the RDS instance.
- Build the backend using Maven and package it as a JAR file.
- Start the backend server by running the JAR file.
- Ensure that the necessary inbound and outbound security group rules are configured for the EC2 instance and RDS instance to allow appropriate traffic.
- Set up an S3 bucket in AWS for hosting the frontend files.
- Build the frontend using
npmoryarnand create the optimized production build. - Upload the frontend build files to the S3 bucket.
- Configure the S3 bucket to allow public read access to the frontend files.
- Enable static website hosting on the S3 bucket and note the provided endpoint URL.
- In the backend application properties file, set the frontend endpoint URL to the S3 bucket endpoint URL.
- Rebuild the backend application and redeploy it to the EC2 instance.
- Access the deployed application by using the EC2 instance's public IP address or domain name.
Please note that these instructions provide a general overview of the deployment process, and you may need to customize them based on your specific project requirements and AWS configurations. Ensure that you follow AWS best practices for security, permissions, and networking when deploying your application.
For more detailed instructions and guidance on deploying to AWS, refer to the AWS documentation or seek additional resources specific to deploying Spring Boot applications, configuring RDS, and hosting static files on S3.
Remember to adjust these instructions based on your specific setup and requirements.
To set up the project for local development, follow these steps:
- Clone the project repository from GitHub.
- Set up the backend by importing the project into your preferred IDE (such as IntelliJ or Eclipse).
- Configure the backend database settings in the application properties file.
- Build and run the backend server.
- Set up the frontend by navigating to the frontend directory in your terminal.
- Install the frontend dependencies using
npm installoryarn install. - Start the frontend development server using
npm startoryarn start. - Access the development server at
http://localhost:3000in your web browser.