The Path to Freelance Success Starts Here
"A Proof Of Concept version for a modern mobile-first web application designed to simplify calculating your hourly rate with daily, monthly and yearly costs, working time and holiday calculations. Built with modern technologies. Perfect for solo entrepreneurs, small and medium sized companies, LLCs, LTs, etc. who want to make better living with properly aligning their rates with their needs."
- 🧠 Well-Planned workflow: Get personalized recommendations for destinations, weather, and activities.
- 📅 Smart Scheduling: Organize tasks, dates, and priorities with drag-and-drop functionality.
- 📤 Export Options: Save plans as PDF (print-ready) or CSV for further editing.
- 📱 Responsive Design: Works flawlessly on mobile and desktop.
- Frontend: Angular - HTML enhanced for web apps!
- Backend: None - No data storage in the P.O.C. version
- AI: Sorry but none
- Styling: Tailwind CSS
- Export: jsPDF, PapaParse
Want to contribute? Great!
Whether you’re a developer looking to contribute or a freelancer seeking a rate planner, RateCalc-Freelance is for you. Check out the docs, open an issue, or fork the repo to start crafting your next adventure!
If you would like to contribute to this project, or having suggestions, feel free to read the CONTRIBUTING documentation and/or the Contributor Covenant industry standard.
For those who used npm till now, I would suggest to change to Yarn immediately. Here is a cheat-sheet for commands in both package manager:
Command | NPM | Yarn |
---|---|---|
Install dependencies | npm install |
yarn |
Install package | npm install [package] |
yarn add [package] |
Install Dev package | npm install --save-dev [package] |
yarn add --dev [package] |
Uninstall package | npm uninstall [package] |
yarn remove [package] |
Uninstall Dev package | npm uninstall --save-dev [package] |
yarn remove [package] |
Update | npm update |
yarn upgrade |
Update package | npm update [package] |
yarn upgrade [package] |
Global install package | npm install --global [package] |
yarn global add [package] |
Global uninstall package | npm uninstall --global [package] |
yarn global remove [package] |
NPM | Yarn |
---|---|
npm init |
yarn init |
npm run |
yarn run |
npm login (and logout) |
yarn login (and logout) |
npm link |
yarn link |
npm publish |
yarn publish |
npm cache clean |
yarn cache clean |
Future
For future version the following are planned:
- page animations
- i18n integration
- dark mode and light/dark mode switcher
0.0.6
The application now support subsciption to the newsletter - this is only for the POC version, so every interested party can get timely updates and also will be able to participate for free tier when the final version ships. Circle CI also configured.
- Angular CLI version 18.1.0
- Rxjs version 7.8.1
- Typescript version 5.5.0
- Jspdf version 2.5.1
- Autoprefixer version 10.4.17
- Husky version 9.1.7
- Prettier version 3.4.2
- Tailwindcss version 3.4.1
0.0.5
The application now has properly separated components, services and types for better scalability. Also the logic is seprated from view. Packages got updated. New functionalities added: export as pdf and export as xls. Mobile first responsive design added.
0.0.4
The application went through a whole refactoring, includig package changes, and upgrading to the newest Angular version at the end of 2024 and begnning of 2025.
0.0.3
Package versions were updated to 18.2.8. All other dependencies were updated accordingly. This project features the following stack:
- Angular CLI version 18.2.8
- Angular Material version 18.2.9
- Rxjs version 7.5.0
- Active Eslint, Prettier, Husky, stylelint, Karma, etc.
0.0.2
This project was generated with the following stack:
- Angular CLI version 13.3.7
- Active Eslint, prettier, husky, stylelint, Karma, etc.
Live demo is available at: https://rate-calculator-poc.netlify.app/
It is very important to have node, npm and yarn installed.
nvm - if you have nvm installed on your machine, please change for the proper version
- Node v20.18.0
- NPM v11.1.0
- Yarn v1.22.10
If Husky is not installed in your system, please also run the folowing command: npm run prepare
or yarn run prepare
, it will initialize Husky properly.
When all the requirements are installed and verified, run npm install
or yarn
and all the dependencies will be installed.
Since the project uses Husky to ensure some hooks are used properly, it is recommended to use the following commands after npm package installations are done:
```
git config core.hooksPath .husky
find .git/hooks -type l -exec rm {} \;
find .husky -type f -exec ln -sf ../../{} .git/hooks/ \;
```
Note: if you have the Husky installed, first try to commit git commit -m "Keep calm and commit 🎉"
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The application will automatically reload if you change any of the source files.
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
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory.
No unit testing exist now, and for the POC version it is going to remain like this, unfortunately.
This project uses GNU General Public Licence which is readable in the LICENSE file.
List your collaborators, if any, with links to their GitHub profiles.
If you used any third-party assets that require attribution, list the creators with links to their primary web presence in this section.
If you followed tutorials, include links to those here as well.