Skip to content

Get Started

JulienElkaim edited this page Sep 8, 2023 · 6 revisions

Get Started as a Bulo Developer!

This is where your journey with Bulo as a Developer starts.
Let's see how to install and run the Bulo Project on your local machine.

1. Start with the Backend (Standalone).

As of June 2023, Bulo server can run in Standalone or in Microservices. As we aim for a quick start, we will focus here on how to start Standalone mode.

A. Prerequisites

  • Java 17 (LTS) is required to run the project. Please install Java on your machine (Download Java 17.0.2 from OpenJDK or any other Java 17 versions from other sources)
  • Maven (version 3.8.x or higher) is required to build the project and manage the dependencies. Download and then Install or follow a tutorial online specific for your OS if it is your first time.

B. Clone the repository

On your machine, open the terminal at a convenient location and clone the project like this (ssh):

git clone git@github.com:maukaim/Bulo-Project.git

_Following instructions are to be followed on the terminal, but you can use your preferred IDE for that._

C. Build the application

In a terminal, go into the 'back-end' folder of the project, and package everything to see if the project works on your machine:

cd Bulo-Project
cd back-end
#Build the project. You need maven and Java to be already installed.
mvn clean package

D. If success, you can run the standalone application .jar by running this simple command (for version 1.0.0-SNAPSHOT of the app):

java -jar app-modules/standalone/standalone-app/target/application-standalone-1.0.0-SNAPSHOT.jar

Here you are ! The Standalone app should be running locally. You can double check that by opening your Browser and accessing the swagger page of the backend API http://localhost:10020/swagger-ui/.
For Microservices, there is more specificities around services dependencies and Kafka setup. Tutorial coming soon...

2. Start with the Frontend.

A. Prerequisites

  • You need to install Flutter on your machine. Currently, the project is built using Flutter 3.10 and Dart 3.0.1.
    Please follow the Official Getting Started tutorial. Run flutter doctor at the end to see if everything is OK.(Windows users, you can't have X-Code, it's expected).
  • You need either Visual Studio Code or a Jetbrain IDE like Android Studio or IntelliJ to work on Flutter apps. Please follow the instructions for either VSC's Flutter extension or Jetbrain's Flutter plugin.

B. Clone the repository

If not done in the Backend setup section
On your machine, open the terminal at a convenient location and clone the project like this (ssh):

git clone git@github.com:maukaim/Bulo-Project.git

C. Get the dependencies.

In your terminal, go in the front-end folder and run the following command to download the project's dependencies:

flutter pub get

D. Run the UI app locally

You should now be ready to run the app locally. You may use your IDE for that, but you can also use the command (still in front-end folder):

flutter run

You will be prompted with the different available options to run the app (If you are on Windows, it will propose Windows Desktop App and Chrome by default).

E. You may need to run a Backend server locally.

Now that your app is running, you may want to test the different functionalities. Unfortunately, the UI itself is not enough.

There is 2 options:

  • For MacOS developers, you can run the UI with an embedded backend server. See the specific instructions.
  • For other developers, you have to run a separated Backend server by following the Start the Backend section of this page.

3. Run the full project

The backend app (standalone mode) could be launched in your IDE from the class BuloStandaloneApplication.
If you prefer to use the command lines, you can do:

# from backend folder
mvn clean package
# from standalone-app folder
java -jar target/application-standalone-1.0.0-SNAPSHOT.jar

The frontend app could be launched in your IDE using the Flutter plugin features. The entry point is the file main.dart.
If you prefer to use the command lines, you can do:

# from frontend folder
flutter run
# Then you are prompted to choose your device. Prefer the Desktop version, Web is not officially supported for now.