Welcome to Pulse, a Reddit clone built with Spring! Pulse aims to provide a platform for users to discover, share, and discuss content on various topics.
- User Authentication and Authorization: Allow users to register, login, and manage their accounts.
- Post Creation and Voting: Enable users to create posts, vote on posts, and comment on posts.
- Community Creation: Allow users to create and manage communities for specific topics.
- Spring Boot
- Spring Security
- Rest Template
- MySQL DB (or your preferred database)
- Hibernate (or your preferred ORM)
- Maven (or Gradle) for dependency management
- Git for version control
Before you begin, ensure you have met the following requirements:
- Java Development Kit (JDK) 8 or later installed on your machine.
- Maven installed on your machine for building and managing dependencies.
- MySQL DB or a compatible relational database installed and configured.
- Git installed on your machine for version control.
Follow these steps to set up and run Pulse on your local machine:
- Clone the repository:
git clone https://github.com/i-am-tj/Pulse.git
- Navigate to the project directory:
cd Pulse
- Configure the database:
Open src/main/resources/application.properties and modify the database settings as needed. - Build the project:
mvn clean install
- Run the application:
mvn spring-boot:run
- Access Pulse in your browser:
Open a web browser and go to http://localhost:8080 to access Pulse.
This project is also Dockerized. Below are the instructions to pull and use the Docker image from Docker Hub.
Before you begin, ensure you have Docker installed on your system. If not, you can download and install it from here
You can pull the Docker image for this project from Docker Hub using the following command:
docker pull tanujchakraborty21/pulse:1.0
Once you have pulled the image, you can run a container using the following command:
docker run -p 8080:8080 tanujchakraborty21/pulse:1.0
This will start the Spring Boot application inside a Docker container, and you can access it at http://localhost:8080 in your web browser.
Pulse includes Swagger UI for interactive API documentation. To access Swagger UI, follow these steps:
- Run the application as described in the installation instructions.
- Open a web browser and go to http://localhost:8080/swagger-ui.html.
- Explore the available API endpoints and test them directly from the Swagger UI interface.
Please read our Contribution Guidelines to learn how to contribute to this project.
We expect all contributors to adhere to our Code of Conduct to ensure a welcoming and inclusive community.
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions, suggestions, or need assistance, feel free to reach out:
- Name: Tanuj Chakraborty
- Email: [email protected]
- GitHub: github.com/i-am-tj
- LinkedIn: linkedin.com/in/i-am-tj