Giter Club home page Giter Club logo

telephone-system's Introduction

Telephone System

Description

System for assigning telephone numbers to clients of the Calitel company. The system allows you to assign telephone numbers to both residential and commercial clients, by geographical areas, which are neighborhoods in the city of Cali. These number assignments are made according to the availability of telephone exchanges for said areas.

Architecture

diagram

Tech Stack

Database

  • Engine: Oracle 21c XE (Express Edition)
  • Command line tool: SQLPlus 21.3.0

Backend

  • Java - JDK 11
  • Spring Boot 2.7.17
  • Gradle 8.3
  • IDE: IntelliJ IDEA Community Edition 2023.2.2

Frontend

  • Node ^18.10.0
  • Angular 15.2.0

Installation

Database

Follow the instructions in the database configuration guide.

Backend

First, from the editor (IntelliJ IDEA) open each of the services in the API/ directory. The editor will start configuring and installing the projects.

Once configured, run the services from the editor in this order:

  1. eureka-server
  2. area-service
  3. center-service
  4. customer-service
  5. telephone-number-service
  6. api-gateway

Frontend

Locate yourself in the directory Front/calitel-front/

Once inside, run the following command to install the dependencies:

npm install

Once the dependencies are installed, run the following command to start the application:

ng serve --open

Notes

  • To assign telephone numbers to residential customers, numbers related to the customer's name are assigned. The telephone number must have from the second digit the numbers related to the first four letters of the name, following the rule of these numbers associated with letters:

    letters
  • The center associated with the geographical areas (neighborhoods) are already loaded in the database, with sufficient availability to assign numbers. Likewise, the creation of centers can be done through the system but with a minimum range of 10 million, to have sufficient availability of numbers and to be able to comply with the rule of telephone numbers for residential customers.

  • Redux is used with ngrx in the frontend to have a system state, where records that are frequently used are loaded, such as geographical areas, types of clients (residential, commercial) and document types ( CC, CE, PA).

  • In the annexes directory is the postman collection with all the API endpoints to make the requests.

  • In the annexes directory there is a csv file with 1000 sample client records generated, to show how to load clients into the system and the format they should take.

Documentation

The documentation of the API endpoints was done using Swagger. The documentation for all microservices is in the swagger directory.

Author

  • Felipe Villamizar github

telephone-system's People

Contributors

felipevcc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.