- tax form #230 made easy
- digital solution for an offline process
- as simple and as efficient as possible
- helps you compare and choose who to support
- helps NGOs reach their public and keep track of their supporters
HELPING SHOULD BE SIMPLE - Every year people can redirect 2% of their income tax to a worthy cause. However, most of them never do it, being put off by two hurdles: the bureaucratic process and the lack of information on NGOs they could help.
Moreover, NGOs themselves have a hard time getting their message across to as many people as possible.
The website will have information on a variety of NGOs that can be supported by redirecting 2% of the income tax. It will also be a means for NGOs to showcase their projects to a wider audience and convince them to re-direct the 2% to them.
Direct contact between the two will not be necessary anymore, which means saving time and resources for both and more #230 tax forms submitted.
SUPPORT A WORTHY CAUSE FOR FREE IN 5 EASY STEPS
- browse and choose the NGO you want to redirect 2% of your income tax to
- fill in tax form #230 online
- print the filled in form
- sign the form
- mail the form to your ANAF agency
Contributing | Built with | Repos and projects | Deployment | Feedback | License | About Code4Ro
This project is built by amazing volunteers and you can be one of them! Here's a list of ways in which you can contribute to this project.
Flask 1.0.2 / Python 3.7
Bower
PostgreSQL / SQLAlchemy
The entry point of the app is run.py
.
All the routes are defined in redirectioneaza\routes.py
.
The application itself is located in the folder redirectioneaza
.
Its main components are
controllers
this module contains the views for each routehandlers
this module contains the following helpers:pdf
the logic for creating the pdfemail
a small wrapper over SendGridbase
contains the base view handler from which all views should inheritcaptcha
the logic behind captcha validation on pages with formsutils
utilities
static
all the static files: css, js, imagestemplates
all the html files + email templates. New html pages should extendbase.html
config.py
configuration datacore.py
defines the core objects such as app, db and login_managerroutes.py
defines all the routes used by the app
New handlers should extend BaseHandler
from handlers.base
.
The path to the html file should be set as template_name
. The app looks in the views
folder for it.
To send props to the view, use the dict self.template_values
.
- Clone the repo into a folder:
git clone https://github.com/code4romania/redirectioneaza
- Set up a virtual env
virtualenv venv
and activate itsource venv/bin/activate
- Install the requirements :
pip install -r requirements.txt
- Install front-end development assets
bower install
- Initialize the database and populate with dummy data:
python manage.py initdb
then
python manage.py load_dummy
- To run the application, run:
python run.py
The app will be ran by default on localhost:5000
.
The app uses LESS
. To compile the CSS, run:
cd ./static/
lessc css/main.less > css/main.css --clean-css="--s1 --advanced --compatibility=ie8"
For database migrations, use the commands for Flask-Migrate.
python manage.py migrations
- will display a list of available commands, whereas for example python manage.py migrations init
would set up the initial migration.
To run tests:
cd tests
pytest
This will run both unit and selenium/integration testing. To run a particular set of tests or a particular tests run pytest test_app
and e.g. pytest test_app.py::test_name
respectively.
You can read more about the frameworks used by the app:
- Request a new feature on GitHub.
- Vote for popular feature requests.
- File a bug in GitHub Issues.
- Email us with other feedback [email protected]
This project is licensed under the MPL 2.0 License - see the LICENSE file for details
Started in 2016, Code for Romania is a civic tech NGO, official member of the Code for All network. We have a community of over 500 volunteers (developers, ux/ui, communications, data scientists, graphic designers, devops, it security and more) who work pro-bono for developing digital solutions to solve social problems. #techforsocialgood. If you want to learn more details about our projects visit our site or if you want to talk to one of our staff members, please e-mail us at [email protected].
Last, but not least, we rely on donations to ensure the infrastructure, logistics and management of our community that is widely spread accross 11 timezones, coding for social change to make Romania and the world a better place. If you want to support us, you can do it here.