Installation¶
Fork the repo¶
Go to our github project and press fork (or visit this url directly).
- Fill out the
repository name
- Press
create fork
- Copy your fork url
Clone the project¶
Go to a directory that you want the fork to be in, e.g. E:/projects/
and go into the terminal
git clone [copied fork url]
# for example
# git clone https://github.com/YourUserName/MyFinances.git
Setup environment variables¶
- Copy the template environment variables
- Edit the template environment variables to your needs, e.g. with nano
shell nano .env
Setup the backend (Django)¶
Make sure you have done the previous steps first!
-
Create a virtual environment and activate it
OR if you are running in a POSIX system such as: bash/zsh, fish, csh/tcsh, or PowerShell, the command to activate the virtual environment is: More information here -
Install our dependencies using python poetry
If the installation of poetry gives error messages check out our debugging section on poetry. -
Setup a database (we suggest using sqlite so there's no installation!) To do this you can use one of our database guides, we currently only support 3 databases:
-
Migrate the database
-
Create an administrator account
-
Run the application
Setup the frontend¶
Please NEVER edit the output.css file to make custom css changes, only manually edit the input.css file.
Tailwind CSS¶
- Install NPM (follow a guide like this)
- Run npm install
Tailwind Watch¶
You can run tailwind watch to update the CSS files as you use tailwind classes. This will auto-build every time you make changes, providing you still have the terminal open.
Keep in mind, if you don't run tailwind watch you WILL NOT be able to use tailwind classes and may break new changes.
Tailwind Build¶
To be honest, tailwind watch is nice, but especially on my windows computer it is very CPU and Memory intesive, every single change,
even 1 character causes a re-watch, and this is a lot... Instead of that, you can use tailwind-build
to only do a one-time
build. You need to remember to run the command after a major update though, incase you add new classes.
Webpack for JS¶
Webpack is used to bundle our javascript into one file to make development easier and speed up builds. The project now uses
chunks to load javascript, so you should see a few files with ids such as 937
. Django will automatically pick these up. Check below for details on how to run webpack.
Run webpack dev¶
npm run webpack-dev # this only runs it once
npm run webpack-watch # this does the same as above, but listens for updates
Problem Solving Errors¶
If you are having trouble with the installation process, we have some possible fixes. Check out our debugging section.