Skip to content

Mahzarasua/ResumeAPI

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

ResumeAPI

CRUD operations for Resume API
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Product Name Screen Shot

Resume API is a multi modules project. The goal is to manage Resumes so a Front End application can create, read, update or delete the information.

The main goal was to implement the concepts of microservices and have them interact with each other.

Adding security for JWT and encryption and decryption for config server, have all the services registering with the discovery service and gather metrics using Zipkin service. Utilize messaging services like RabbitMQ, ActiveMQ, and Kafka.

The service interacts with Docker, a compose file has been included to get the images required for the services to work out of the box.

A bit of manual work is required to create the tables in the database and insert the initial data needed by the services. Instructions were included on how to perform this task.

This is an initial draft, yet many ideas are waiting to be implemented.

(back to top)

Built With

(back to top)

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

Installation

  1. Clone the repo
    git clone https://github.com/Mahzarasua/ResumeAPI.git
  2. Open the project with Intellij and do a Maven build to get the dependencies
    mvn install
  3. Make sure Docker is installed and run the following command to get the images installed and started
docker compose up -d --remove-orphans  
  1. Check database_script directory and review notes.md file to see instructions related to database
  2. Configuration files used by Config Server were created in a separate repo
    1. Make sure the url matches to the one used in Config Server application.yaml file
  3. Authentication api was created to authenticate users and generate the jwt token.
  4. Resume, Education, Skills and WorkExperience services have a dependency on authorization-api due to the fact that this service is used to authenticate users and it will expose an operation to do so on of each service independently. In order to avoid duplicating code authentication-api contains the model classes for the database, it also has the configuration classes that are used by the other services.

(back to top)

Usage

Once the tables have been created and the initial data has been inserted, this is the order recommended in which the services must be started.

  1. Eureka-server
  2. Config-server
  3. Authentication
  4. Resume
  5. Education/Skills/WorkExperience

The following services can be started after Authentication is running.

  1. Education
  2. Skills

(back to top)

Roadmap

  • Kafka processing between Services
  • ElasticSearch logging

See the open issues for a list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

Contact

MhZars - @mahzarasua - mahzarasua@outlook.com

Project Link: https://github.com/Mahzarasua/ResumeAPI

Acknowledgments

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages