IT-Academy-BCN / ita-challenges-backend

Backend of ITA Challenges Project
MIT License
14 stars 12 forks source link
docker gradle java microservices-architecture spring-boot testing zmq-library

ITA-challenges-backend


Table of contents

  1. Description
  2. Usage
  3. Installation
  4. Newcomers
  5. Guidelines and Code Conventions
  6. FAQ's
  7. Contributors
  8. Contact Information
  9. License

Description

The ITA-challenges-backend project is built using Java with the Spring Boot framework and reactive programming. It is an initiative designed specifically for students enrolled in the IT Academy program at Barcelona Activa.

The primary goal is to provide students with hands-on experience in a real-world development environment, real scenarios they may encounter in their future careers.

Simultaneously, students collaborate to create a valuable learning tool for the ITA challenges application dedicated to code and programming coding-challenges. This project involves tackling new features, addressing legacy code, resolving bugs, and fostering teamwork. The emphasis is not only on technical proficiency but also on providing a holistic learning experience for our students.

This project exists thanks to all the people who contribute.

For newcomers, we strongly emphasize the importance of thoroughly reading the entire README. This document contains crucial information about installation, configuration, and daily processes necessary for effectively working on this project.

Usage

This project provides REST API services for the ITA challenges application and consists of five microservices:

Each microservice exposes REST APIs to interact with it. To use any microservice, you can refer to the procedure section or start it from the App class in your IDE.

Installation

Required programs

It is important to make sure you have all these tools installed and configured correctly before you start working on the project.

See GUIDELINES.md to learn how to install and configure these tools.

The following programs are optional but recommended:

See GUIDELINES.md to learn how to install and configure these tools.

These are the libraries and frameworks used in the project, just in case you want to know more about them:

See GUIDELINES.md

Project links

Procedure

  1. Install the required software listed in the "Required programs" and "Project links" sections.

  2. Make sure you have Docker Desktop turned on.

  3. Import data into MongoDB. You can see how in the guidelines.

  4. Clone the repository:

    git clone https://github.com/IT-Academy-BCN/ita-challenges-backend.git
  5. Navigate into the project directory:

    cd ita-challenges-backend
  6. Install the dependencies:

    • If you use Windows cmd:
      gradlew build
    • If you use Windows PowerShell, Linux, macOS, etc:
      ./gradlew build
  7. Run the microservice you want to start, for example 'itachallenge-challenge'.

    • If you use Windows cmd:
      gradlew itachallenge-challenge:bootRun
    • If you use Windows PowerShell, Linux, macOS, etc:
      ./gradlew itachallenge-challenge:bootRun
  8. You can test the application in the browser at: http://localhost:8762/itachallenge/api/v1/challenge/test

  9. If you want to test the application in postman, you can import the environments and collections from the folder postman in the root of the project.

Newcomers

Git configuration

You can see git configuration in the guidelines

Daily working flow

You can see daily working flow in the guidelines

Work with cards Procedure

You can see how work with cards in the guidelines

Backend Sprint Backlog

Pull Requests

You can see the points to consider when doing a PR in the guidelines

Guidelines and Code Conventions

See GUIDELINES.md

FAQ's

Contributors

Thank you for participating in this project! Contributions are essential to expand and enhance the experience for all users.

You can access the link GUIDELINES.md to get detailed information on how to contribute. We look forward to your contributions! Don't forget that the project exists thanks to everyone who contributes!

Contact Information

Project manager: Jonatan Vicente (Discord: Jonatan Vicente#1211)


Contributor Covenant Contributor Covenant Contributor Covenant

License