Skip to content

edycarreyes99/NoteLink-Frontend

Repository files navigation

Notelink

This project was generated with Angular CLI version 15.0.0.

Development server

Preferred to have node.js version 16.13.0. You can use nvm to manage node.js versions.

Once already node.js is installed in your computer, you can run npm i to install all the dependencies required in this project.

Environment variables are required to run this project locally. So you need to create 2 files in src/environments folder. One is environment.ts and another is environment.prod.ts. You can copy the content from environment.example.ts and paste it in the respective files. Then you need to add the values for the variables.

Then you can run the ng serve command for a dev server. Navigate to http://localhost:4200/. The application will automatically reload if you change any of the source files.

Build

Preferred to have node.js version 16.13.0. You can use nvm to manage node.js versions.

Once already node.js is installed in your computer, you can run npm i to install all the dependencies required in this project.

Environment variables are required to run this project locally. So you need to create 2 files in src/environments folder. One is environment.ts and another is environment.prod.ts. You can copy the content from environment.example.ts and paste it in the respective files. Then you need to add the values for the variables.

Run ng build to build the project. The build artifacts will be stored in the dist/ directory.

Info

This project was thinking to be a fully scalable project, that's because I made the current project's folders structure to be scalable. So if you want to add a new module, you can create a new folder in src/app and add all the files on it, each module can implement the lazy-loading feature of angular to manage all it child components. Also, the service's implementation is fully scalable becase I create an inherited class like a BaseService class, so you can create a new service and inherit from the BaseService class, and you will have all the methods to manage the data in the database, apart from that all the code is very clean.

This project is developed with validations from both sides (client and server). So you can see the validations in the forms that are used in this project. Also, you can see the validations in the server side. You can see the validations in the following URL https://notelink-backend.up.railway.app/api/.

The UI that I choose is a combination of Material and Bootstrap, with flat design and minimalist colors, this for have a better clean interface.

Dependencies

The dependencies that I use in this project, all of them are very useful, and they are the most used in the community.

  • @angular/fire - This is the official Angular library for Firebase, I used firebase to manage the login services and the storage services to improve the time, I'm sending a JWT generated by the own firebase auth module to the backend side on each http request.

  • @angular/material - This is the official Angular library for Material Design, I used this library to have a better UI, and I used the components that I needed to have a better UI.

  • bootstrap - I used this library combined with the @angular/material in cases of GRID and some color o text variables.

  • masonry-layout - I used this library to generate the unordered grid-layout that we can see in the list of notes.

  • ngx-toastr - I used this library to show the notifications in the UI, this library is very useful to show notifications in the UI.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.

References

![](src/assets/img/readme-files/localhost_4200_notes(Full HD)-(1).png)

![](src/assets/img/readme-files/localhost_4200_notes(Full HD).png)

![](src/assets/img/readme-files/localhost_4200_notes(Full HD)-(2).png)

![](src/assets/img/readme-files/localhost_4200_notes(Full HD)-(3).png)

![](src/assets/img/readme-files/localhost_4200_notes(Full HD)-(4).png)

About

Frontend with Angular for the NoteLink Project.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published