Description • Architecture • Tech Stack • Installation • Notes • Documentation • Author
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.
- Engine: Oracle 21c XE (Express Edition)
- Command line tool: SQLPlus 21.3.0
- Java - JDK 11
- Spring Boot 2.7.17
- Gradle 8.3
- IDE: IntelliJ IDEA Community Edition 2023.2.2
- Node ^18.10.0
- Angular 15.2.0
Follow the instructions in the database configuration guide.
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:
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
-
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:
-
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.
The documentation of the API endpoints was done using Swagger. The documentation for all microservices is in the swagger directory.