Skip to content

A project that was deployed to production in a homemade environment.

License

Notifications You must be signed in to change notification settings

caballeroluis/OneWork_Front-end

Repository files navigation

OneWork

A Web App to streamline recruitment processes

About the Project

OneWork was a project made by Alberto and Luis and deployed in a homemade environment, in order to add precision and agility to their hiring process work and that of their friends and above all to practice. Nonprofit.

Version control was managed with Git, and project management was done with GitLab.

The homemade server was programmed to save power by automatically shutting down each night. This was achieved through a Ubuntu Server configuration and settings in the BIOS.

It's highly likely that the no-ip URLs for the pre-production and production environments are no longer related to this project or do not exist.

Features

With this tool, users will be able to:

  • Create an account as a recruiter or worker.
  • Post job Offers.
  • View the Offers on a fully public Kanban board.

Additionally, there was a plan to create a video call system using WebRTC for conducting interviews, but it was never implemented.

Tech (Server software)

Developed with these technologies:

  • Node.js - An open-source, cross-platform JavaScript runtime environment.
  • Express - Fast, unopinionated, minimalist web framework for Node.js.
  • Socket.IO - Bidirectional and low-latency communication for every platform.
  • MongoDB - Open source, document-oriented, NoSQL database system.
  • Angular - Web development framework.

Deployed on these technologies:

  • NGINX - High performance lightweight web server and reverse proxy server.
  • Ubuntu - Reliable Linux distribution for servers.
  • PM2 - Advanced, production process manager for Node.JS.

Tech (Server ardware)

- Processor: AMD Ryzen 5 1600 Stepping AF 3.6GHz
- Storage: WD Green 3D SSD 120GB SATA3
- Memory (x2): Corsair Value Select DDR4 2133 8GB CL15
- Motherboard: MSI A320M-A PRO
- Graphics: Zotac GeForce GT710 1GB GDDR3
- Case: Tacens Anima AC016 USB 3.0
- Extra fan: Tacens Aura II 80x80
- PSU: Corsair VS450 450W 80 Plus
- Tools: Crimper
- Tools: UTP CAT6 cable
- Tools: UTP Cat.6 RJ45 connector
Screenshot 2023-06-08 at 11 27 17

User interface demo

Login

Login

Edit an Offer

Edit an Offer

User Verification to modify the behavior and appearance of User Offers

User verification

Drag and drop an Offer on the Kanban board

Drag and drop

Displaying the JWT Token and State Management Tools created with RxJS

jwt token

Showing the Let's Encrypt certificate that was used to secure browsing

Let's Encrypt certificate

Installation (Back-end)

For more help on the API of this project, see the OneWork_Back-end repository which can be found at Alberto's account

or

For more help on the API of this project, see the OneWork_Back-end repository which can be found at Luis's account.

Dependencies

Run npm install for get dependencies.

Development server

Run npm start for a dev server.

Installation (Front-end)

This project was generated with Angular CLI version 12.2.5 and updated to 13.3.0.

Development server

Run npm start for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

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

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.

Dependencies

Run npm install for get dependencies.

State management

Click the [👁] button on the main screen to view the status in the browser console.

The simulated version of the API integrated into the front-end project (npm run mockClient) has been discontinued and is no longer functional. Therefore, this project can only be executed by setting up the backend and the database. However, if you're interested in seeing an example of the State Management used, you can easily deploy this another project of mine where the front-end API mock is working.

License

MIT

About

A project that was deployed to production in a homemade environment.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published