Work Projects
Website
I currently work at PROVE, developing a feature-rich CRM web app for the company using Ruby and Javascript.
Tech Stack
- Backend:
Ruby on Rails ,
Bullet Train
- Frontend:
Hotwired
(
Turbo
and
Stimulus
),
Tailwind CSS ,
JavaScript
- Deployment:
AWS EC2 ,
Nginx ,
Puma
Features
Below is a brief summary of its features:
- It stores quotes and jobs, and allows quotes to be awarded and converted to jobs, or reports to be made on the current productivity of a job or quote (or several jobs or quotes). These are attached to clients
- It allows users to make timesheets, recording the hours they put into each job
- Timesheets are used to pay the employees according to the current award for electricians. The website automatically determines and takes into account the travel time (based on a Google Maps API), the employees' hourly rates, any allowances they are entitled to, whether they travelled to or from home, the time they have been apprentices, overtime and double overtime, and many other factors
- Timesheets are also used to invoice clients. These invoices use the hours employees have worked on a job, their hourly rates, their travel times, any expenditures, the price of subcontractors, and other factors
- Employees can apply for and be granted leave. They can also submit medical certificates
- Employees can read and acknowledge safe operating procedures
- There are various roles, each granting different permissions. Permissions can given either to individual users or to groups, which users can then be assigned to.
My employer is very concerned about cybersecurity (especially since this website uses multiple APIs), so he made me implement at least 10 different cybersecurity measures (which I will not list here for the sake of security through obscurity). This has made cybersecurity one of my biggest strengths.
I also have a staging version of this website, in which all job and employee names (besides my own) are fake and were created by a spoofer. Contact me to receive the credentials of a limited-permissions account allowing you to explore it.
App
For a specific job, I also developed a data entry app with the basic CRUD functions, as well as image uploading and data exporting functionalities. If you have an Android device, you can try it by downloading this file.[note] Below is its tech stack:
- Framework:
React Native (using
Expo )
- Language:
TypeScript
- Storage:
AsyncStorage