Skip to content

The User Provider Application, developed with Java 17 and Spring Boot, is a critical microservice responsible for managing user data. This microservice handles all user-related activities, including profiles, settings, and follow-following functionalities. It is essential for maintaining comprehensive and user management within the system.

License

Notifications You must be signed in to change notification settings

Bloggios/user-provider-application

Repository files navigation


Project Banner

User Provider Application

Java 17 Spring Boot Postgres Elasticsearch Kafka
  1. 🤖 Introduction
  2. ⚙️ Tech Stack
  3. 🔋 Documentation
  4. 🤸 Quick Start
  5. 🕸️ Contributing
  6. 🔗 Links
  7. 🙏 Support
  8. Contributors

The User Provider Application, developed using Java 17 and Spring Boot, is a vital microservice dedicated to the management of user data. This microservice is designed to handle a comprehensive range of user-related activities, ensuring efficient and reliable operations. Key functionalities include managing user profiles, settings, and follow-following relationships. By centralizing these tasks, the User Provider Application plays a crucial role in maintaining a seamless and cohesive user experience within the broader system architecture. Its robust implementation ensures scalability and performance, making it an essential component of the overall infrastructure.

Key Features

  • User Profile Management:: Create, update, delete, and retrieve detailed user information.
  • User Settings Management:: Handle user-specific settings and preferences with secure storage and retrieval.
  • Follow-Following System:: Implement follow and unfollow functionalities, maintaining relationships between users.
  • Authentication and Authorization:: Provide secure authentication and authorization, managing roles and permissions.

Join our newly active Discord community for support, bug reporting, and feature requests. Here, we strive to address every issue, and developers and testers can collaborate and assist each other effectively.

Discord
  • Java 17
  • Spring Boot
  • PostgreSQL
  • Elasticsearch
  • OAuth2.0
  • Kafka

To help you get started with our API and understand all its features and endpoints, we have created detailed documentation available on Postman. This documentation includes comprehensive information about each endpoint, including:

  • Endpoint URLs: Specific paths to access various functionalities.
  • HTTP Methods: The method type (GET, POST, PUT, DELETE, etc.) for each endpoint.
  • Parameters: Required and optional parameters, including headers, query parameters, and body content.
  • Request Examples: Sample requests to demonstrate proper usage.
  • Response Formats: Expected response structure, including status codes and data formats.
  • Error Handling: Common error responses and troubleshooting tips.

To access the documentation:

  1. **Visit our Postman Documentation Page **: Visit Documentation
  2. Explore the Collection: Navigate through the collection to find detailed descriptions and examples for each endpoint.
  3. Run Requests Directly in Postman: Use the "Run in Postman" button to directly import the collection into your Postman workspace for testing and exploration.

By leveraging the Postman documentation, you can quickly integrate our API into your application and take full advantage of its capabilities.

For any further assistance, feel free to contact our support team or refer to the additional resources section in the documentation.

Follow these steps to set up the project locally on your machine.

Prerequisites

Make sure you have the following installed on your machine:

  • Git
  • Java 17
  • Intellij Idea or any other IDE supports Spring Boot
  • PostgreSql
  • Elasticsearch
  • Kafka
  • Docker (If not want to install PostgreSQL, Elasticsearch and Kafka seperately)

Cloning the Repository

git clone <repository-url>

Opening the Project

Open the project in any of your favourite IDE We recommended Intellij Idea

Make sure you have Java 17 Installed in your system Please execute the below command to check installed version of Java in your system

java --version

Set Up Environment Variables

Navigate to src/main/resources/application.yml and add the required environment variables

If you are new at setting environment variables the please go through the below videos

BOOTSTRAP_SERVER -> Link to kafka broker server. You can start kafka broker locally (localhost:9092)
ES_PASSWORD -> Password of your Elasticsearch
ES_SERVER -> Elastic Search password Link (localhost:9200)
ES_USERNAME -> Elasticsearch Username
GOOGLE_CLIENT_ID -> Give any random value or if want to test Google OAuth Locally then generate client id and secret from Google Developer Console
GOOGLE_CLIENT_SECRET -> Give any random value or if want to test Google OAuth Locally then generate client id and secret from Google Developer Console
POSTGRES_DATABASE -> Postgresql Database name
POSTGRES_HOST -> Postgres Database Host
POSTGRES_PASSWORD -> Postgres Database Password
POSTGRES_USERNAME -> Postgresq Database Username

Replace the placeholder values with your actual credentials

Running the Project

Navigate to src/main/java/com/bloggios/auth/provider/UserProviderApplication.java Run the main method

Any kind of positive contribution is welcome! Please help us to grow by contributing to the project.

If you wish to contribute, you can,

  • Star Repositories Bloggios
  • Suggest a Feature
  • Test the application, and help it improve.
  • Improve the app, fix bugs, etc.
  • Improve documentation.
  • Create content about Bloggios and share it with the world.

Please read CONTRIBUTING for details on our CODE OF CONDUCT, and the process for submitting pull requests to us.

🆕 New to Open Source? 💡 Follow this guide to jumpstart your Open Source journey 🚀.

Repositories

We all need support and motivation. Bloggios is not an exception. Please give this project repositories a ⭐️ to encourage and show that you liked it. Don't forget to leave a star ⭐️ before you move away.

If you found the app helpful, consider supporting us with a coffee.

Thanks goes to these wonderful people (emoji key):

Rohit Parihar
Rohit Parihar

💻

About

The User Provider Application, developed with Java 17 and Spring Boot, is a critical microservice responsible for managing user data. This microservice handles all user-related activities, including profiles, settings, and follow-following functionalities. It is essential for maintaining comprehensive and user management within the system.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages