A platform that links service providers with clients using Angular & Springboot

Overview

Bricoly : Engineer Your Life The Way It Should Be...

๐Ÿ“˜ Description

This project's aims to connect people who are able to grant services with clients who may need them. This was done in the context of our federator project in Ensias. You can check the report here.

๐Ÿ” Instructions

The first thing we need to do is clone the repository and get the code:

git clone https://github.com/Ignema/Bricoly.git

๐Ÿ“Œ Running the code locally from source

There are four things that we need to execute the whole application.

  • Postgres Database (Make sure you edit application.properties with the right credentials so that the backend can detect your database)

  • JDK 17 โš ๏ธ (An IDE like intellij or eclipse will do the work automatically for you)

      # Windows
      gradlew bootRun
      # Linux
      ./gradlew bootRun
    
  • Node

      npm install
    
  • Angular-CLI

      npm install -g @angular/cli 
      ng serve --open
    

๐Ÿ“Œ Running the project with containers

If you want to run the containers seperately then you can pull them independently from docker hub like so

# Frontend
docker pull ignema/bricoly-frontend

# Backend
docker pull ignema/bricoly-backend

# Don't forget to run a postgres container as well!!!

If you want to run the cluster at once, you can simply run this command (Recommended)

docker-compose -p bricoly up

๐Ÿ“Œ Running the project with kubernetes

If kubernetes is more up your alley you can use the k8s config to deploy the cluster

kubectl apply -f k8s/deployments

kubectl apply -f k8s/services

watch -n 0.5 kubectl get all

๐Ÿ“… Database Schema

๐ŸŽจ Mockup Design

The initial designs were made with Figma. You can check them here.

โš™๏ธ App Overview

๐Ÿ“ƒ Landing Page

By the way, here's the original pictures used in the landing page's carousel:

๐Ÿ“ƒ About Page

๐Ÿ“ƒ Login Page

๐Ÿ“ƒ Register Page

๐Ÿ“ƒ Catalog Page

๐Ÿ“ƒ Offer Detail Page

๐Ÿ“ƒ Provider Profile Page

๐Ÿ“ƒ Dashboard Section

๐Ÿ—ž๏ธ Dashboard Profile Edit Page

๐Ÿ—ž๏ธ Dashboard Offer History

๐Ÿ—ž๏ธ Dashboard Add Offer Modal

๐Ÿ—ž๏ธ Dashboard Job Feed

๐Ÿ“ƒ Swagger UI of Backend API

Made with ๐Ÿ’™ by Ignema

You might also like...

A modular, high performance, headless e-commerce(ecommerce) platform built with Java,Springboot, Vue.

What is Shopfly? Shopfly is modular, high performance, headless e-commerce(ecommerce) platform built with Java,Springboot, Vue. Architecture Shopfly i

Apr 25, 2022

An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or to turn an existing project into a devops project using open source software (Git, Docker, Jenkins..)

An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or to turn an existing project into a devops project using open source software (Git, Docker, Jenkins..)

DevOpsify Description An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or t

Nov 8, 2022

backend for a sharing app using SpringBoot, Redis, MySQL, and AWS S3.

backend for a sharing app using SpringBoot, Redis, MySQL, and AWS S3.

moments_v2_backend (Work In Progress) backend for a sharing app using SpringBoot, Redis, MySQL, and AWS S3. This is the second version of my project S

Dec 26, 2022

Springboot CRUD api using containerized mongoDB. โ˜•๐Ÿƒ๐Ÿ“ฆ

Javongo โ˜• ๐Ÿƒ Springboot CRUD api using containerized mongoDB. Feel free to use it as an example for your projects. Running Make sure ports 27017 & 808

Mar 19, 2022

CRUD operation using java springboot microservice hosted in kubernetes env, data stored in mongodb

springboot-mongodb-k8s-parth Brief Introduction Hello Friends, I have created REST API using Springboot and Spring cloud application which performs CR

Nov 11, 2021

This is the RestFul API using SpringBoot made to integrate the frontend of this repository.

This is the RestFul API using SpringBoot made to integrate the frontend of this repository. Requirements For building and running the application you

Jan 21, 2022

A high availability shopping(ecommerce) system using SpringBoot, Spring Cloud, Eureka Server, Spring Cloud Gateway, resillience4j, Kafka, Redis and MySQL.

A high availability shopping(ecommerce) system using SpringBoot, Spring Cloud, Eureka Server, Spring Cloud Gateway, resillience4j, Kafka, Redis and MySQL.

High-availability-shopping-system A high availability shopping(ecommerce) system using SpringBoot, Spring Cloud, Eureka Server, Spring Cloud Gateway,

Oct 26, 2022

The state-of-the-art Dashboard of Apache RoccketMQ provides excellent monitoring capability. Various graphs and statistics of events, performance and system information of clients and application is evidently made available to the user.

RocketMQ Dashboard How To Install With Docker get docker image mvn clean package -Dmaven.test.skip=true docker:build or docker pull apacherocketmq/ro

Dec 30, 2022

Java framework for making REST clients

Pocolifo's REST Client Framework Java framework for making REST clients Here's how easy it is Here's an example for a GET request in the context of a

Jun 19, 2022
Comments
  • Create Roadmap so we can contribute effectively

    Create Roadmap so we can contribute effectively

    Hi @Ignema ,

    First of all thanks for your hard working and contributing an interesting project to open source community. ๐Ÿ˜„

    I'am plannig to add some features to this project but i can't find a helpful document about roadmap.

    If you can share with us, if you have one. Otherwise, we can list some features here, randomly, and pick up the most important ones.

    opened by ghWass93 1
Releases(v1.0)
  • v1.0(Feb 12, 2022)

    Since today was the presentation of the project in front of the jury, the repository no longer needs to remain private. This release contains all the code of Bricoly which is a web application designed to be the bridge between service providers and clients to make it a little bit easier for both parties to find each other.

    Features: โœ… Original frontend UI with both mockup design & Angular implementation โœ… Backend server in Springboot with models + DTOs + mappers + DAOs + services + controllers โœ… Spring security & JWT authentication โœ… Spring JPA implementation of the models โœ… SwaggerUI documentation of all endpoints โœ… Dockerfiles for both the frontend & backend โœ… Docker-compose YAML file โœ… Kubernetes deployment & service files initially constructed from Kompose โœ… Continuous Integration pipeline for docker image build & push with GitHub Actions โœ… README file

    Bugs: โŒ Certain pages are still not yet linked with the backend โŒ Requests to the backend are not sent with authorization header just yet (forgot about it while in development) โŒ 404 page not added yet โŒ No continuous deployment pipeline is implemented yet (no money)

    Warnings: โš ๏ธ data.sql initially fills the database and can have some unpredicted actions if not deactivated in prod โš ๏ธ You'll need to remove a line in SecurityConfig.java to enable spring security authorization on all routes (left it for development purposes) โš ๏ธ Kubernetes frontend service nodeport may or may not be accessible (I tested with cloud shell and it didn't work but I suspect it's a problem in cloud shell itself)

    In any case, I hope you'll enjoy the project or you may find it helpful because I certainly did.

    Made with ๐Ÿ’– by some ensias students

    Source code(tar.gz)
    Source code(zip)
Owner
Yasser Douslimi
I like to code and automate stuff.
Yasser Douslimi
Application for creating blog posts, developed with Java using Spring Framework for backend and Angular along with PrimeNG Library for frontend development.

Application for creating blog posts, developed with Java using Spring Framework for backend and Angular along with PrimeNG Library for frontend development.

รureo Carmelino 10 Nov 27, 2022
Drone - A service via REST API that allows clients to communicate with drones

Drone - A service via REST API that allows clients to communicate with drones (i.e. **dispatch controller**). The specific communication with the drone is outside the scope of this task.

Obinna Ogbonna 1 Jan 10, 2022
A developer oriented, headless ecommerce framework based on Spring + GraphQL + Angular.

GeekStore A developer oriented, headless ecommerce framework based on Spring + GraphQL + Angular. Headless means GeekStore only focus on the backend,

ๆณขๆณขๅพฎ่ฏพ 13 Jul 27, 2022
Manages server status and gives log of status information. front end - angular js, backend- sbring boot, DB-MySQL

ServerManagerApplication / | | / | | ( ___ _ __ __ __ ___ _ __ | \ / | __ _ _ __ __ _ __ _ ___ _ __ __ \ / _ \ | '| \ \ / / / _ \ | '| | |/| | / | | '

null 1 Jan 6, 2022
Angular Final Assignment - Keep Note frontend

Angular Final Assignment - Keep Note frontend Objective The Objective of this level of Keep is to cover the following areas : Components Design Compon

Baskaran Murugesan 1 Jan 29, 2022
๐Ÿ–ฅ CRUD Angular + Spring demonstrating Has-Many relationship, including tests for the back-end and front-end

REST API with Spring Boot and Angular CRUD Angular + Spring demonstrating Has-Many relationship, with tests. ?? Tecnologies Java 17 Spring Boot 3 JPA

Loiane Groner 53 Dec 28, 2022
SpringBoot service to pick up CAN messages retransmitted by CANBridge and extract certain values for reporting/monitoring/alerting via DataDog

SpringBoot service to pick up CAN messages retransmitted by CANBridge and extract certain values for reporting/monitoring/alerting via DataDog

Grumpy Cricket 2 Mar 12, 2022
A simple and efficient short URL conversion service based on SpringBoot.

A simple and efficient short URL conversion service based on SpringBoot What is GeniusShortUrl? GeniusShortUrl is an open source reactive service that

null 2 Apr 8, 2022
Adds support for using InputStream/OutputStream from Spring's web clients

Spring stream interoperability This project offers three integrations: A WebClientHttpRequestFactory that redirects the RestTemplate API calls to a We

Rafael Winterhalter 5 Dec 18, 2022
A modular, high performance, headless e-commerce(ecommerce) platform built with Java,Springboot, Vue.

What is Shopfly? Shopfly is modular, high performance, headless e-commerce(ecommerce) platform built with Java,Springboot, Vue. Architecture Shopfly i

Shopfly 31 Jul 17, 2022