Skip to content

CodeTheChangeUBC/reBOOT

Repository files navigation

reBOOT

Donation Management Platform for reBOOT Canada!

Code Climate Maintainability Open Source Love MIT License


Team · Setup · Usage · Contributing · Wiki

Welcome to the reBOOT Canada database project, created by Code the Change UBC! This is the development repository for the project. The project entails developing a database web application with the ability to generate CRA-compliant tax receipts.

Main Features
🚀 Simple to use - focus on your work with the simple and intuitive UI
📦 Data storage - easily add/view/change/delete donor and donation data without worrying about security
🍰 Data analytics - analyze your donation data with useful charts and statistics
🛂 User permission controls - control incremental permissions for managing teams and users
🏷 CRA-compliant tax receipts - generate CRA-compliant tax receipts that provides full detail about donations
👥 Built for teams - provides tools to control team management for volunteers and employees
✉️ Email Alerts - receive detail alert emails about the system if there are any errors
🔑 Secure - secured with HTTPS across the board, as well as features like XSS, CSRF protection

👪 Team

⚡ Setup

0) Check/Install prereq dependencies

  • Install python==3.7.x. Note: macOS defaultly installs python==2.7
  • Check for pip in your terminal
  • Check for virtualenv in your terminal
  • Install postgres preferable using the command line
  • Install rabbitmq: https://www.rabbitmq.com/download.html

1) Getting the project

Clone the repo:

  • HTTPS git clone https://github.com/CodeTheChangeUBC/reBOOT.git
  • SSH ssh git@github.com:CodeTheChangeUBC/reBOOT.git

2) Configuring database, job queue, and server dependencies

$ cp .env.sample .env
$ make install

Note: You might want to add 127.0.0.1 or localhost to ALLOWED_HOSTS and set DEBUG to True if you are running the project locally

3) Running the server

$ make env
$ make server

📦 Usage

Running the server and website

To use the website, you need to run the server using this command in terminal:

$ make env
$ make server

Note: The Makefile is set to default run with your virtualenv as a shell wrapper.

To use different databases, you can use the following command:

$ source venv/bin/activate
$ DJANGO_DATABASE=[insert_db_name] ./manage.py [COMMAND]

To be able parse data from csv files or generate tax receipts, you also need to run the celery/rabbitmq server from separate terminal instance using this command:

$ make env
$ make celery

Git Hooks

$ cp hooks/* .git/hooks/

🎅 Contributing

When making a contribution, make sure to do the following:

  1. Assign yourself to an issue
  2. Make sure you git pull the latest changes to the master branch
  3. Checkout a new branch git checkout -b [name_of_your_new_branch] to commit your changes to
  4. Make (and test!) your changes.
  5. git commit -m "ADD A DESCRIPTION OF YOUR CHANGES" to commit your changes to the branch
  6. git push origin [name_of_your_branch] to push your changes to the repo
  7. Create a Pull Request into the master branch
  8. After approval from at least one supervisor (@bwdmonkey or @michellehuh or @gauravnv) merge branch into master.

Found a Bug?

To provide suggestions or report bugs, open an issue first to discuss potential changes/additions.

🔔 Contacts

Homepage: https://codethechangeubc.org/

Email: codethechangeubc@gmail.com

Facebook: https://www.facebook.com/codethechangeubc/

This README has been strongly inspired by UBC Launch Pad's Inertia project. Originally by a good friend @bobheadxi. As @bobheadxi would say, please star the inertia project.