This is the frontend of Open Knesset v2.0 repository. Below you will find some information about the project, how to install it locally, and the basics.
You can read more about the general idea in this document כנסת פתוחה הדור הבא
Please, feel free to add an issue if you have anything to suggest or comment on.
-
JS framework: This project made with nuxt on top of Vue JS as our framework of choice. For the state management (pattern + library) Vuex was used. Make sure to pay attention to this framework and project naming convention, for example: camelCase for functions and TitleCase for Vue files.
-
Styling: A lot of effort was made on the UX/UI part of the app while trying to keep the general look-and-feel across the site. We used Vuetify UI library, so take advantage of their components and style before writing your own. Also, Vuetify and the project itself have many CSS class utility options that you can use. As a rule of thumb: 👏Write as little CSS as possible👏, none will be perfect.
-
Other technologies: TypeScript and Scss was used so that you can go ahead and benefit from their awesome features.
- clone or fork this repo to your machine and make sure you have nodeJs (12^) installed.
npm install
npm run dev
If you are using VS code for writing Javascript it will help you to add these extensions:
- Vetur
- ESLint (it has Beautify inside so don't install that extension or otherwise you will have conflicts)
- Also you can add Vue.js devtools in your browser
- Make sure you installed python and add it to your PATH
- Clone backend repository
- Run in the ok2-backend folder:
pip install -r requirements.txt
(only once after pull)manage.py migrate
to install database (only once after pull)manage.py runserver
(to run localhost 8000 as)
We would love ❤️️ to hear from you in the issues section or by mail to one of the current contributors.
Before a pull request:
- Make sure the project is lint correctly and passed the type checked:
npm run quality
- The project can be built:
npm run build
- Ask for a code review.