Make usable intranet.
- Install a relatively modern version of Python 3 (3.9 is recommended but other versions might also work)
- Install poetry
git clone <repo_url>
andcd
into the directory- Run
poetry install
(if you do not have postgres installed on your local machine, you might have to edit thepyproject.toml
file to replacepsycopg
withpsycopg-binary
- Run
poetry shell
Follow the instructions on setting up a postgres database if you want to set up the database in the same way it is set up on Heroku. Set it up using the settings in settings.py
.
If not, you can probably just use SQLite locally, but you'll have to use the commented out database setup in settings.py
.
- Create a local_settings.py file in the eshcIntranet directory with the following contents:
import os
DEBUG = True
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
DEFAULT_FILE_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
MEDIA_FILE_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
SECRET_KEY = 'none'
EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"
- Run
python manage.py makemigrations
,python manage.py migrate
,python manage.py collectstatic
,python manage.py createcachetable
. In order, these set up the required changes to the database, appy the changes, and collect static files into the/staticfiles/
folder for serving. - Run
python manage.py runserver
. - Go to 127.0.0.1:8000 to access the site or 127.0.0.1:8000/admin/ to view the admin panel.
- To use the admin panel run
python manage.py createsuperuser
and follow the instructions to create an admin user.
- Allauth based user management
- User information displayed on profile page
Basic Wiki - based on waliki - modifieduses django-wiki- User management available through admin app
- Lease management - admin and user sides
- Mark Users as deactivated when they have moved out
- 'Share received' checkbox for admins, display on user profile
- Style everything nicely (Bootstrap 3.3.0)
- Navbar
Waliki app copied to main directoryWiki change history button appears in navbar againEmail sending - uses finance accuses Sendgrid now- Email verification/authentication - allauth
- Store ESHC member specific information
- Polling - can probably be later adapted to proposal voting
- Allow user to edit relevant profile information
- Allows users to sign up to / become members of specific working grops
- Flat info / map
- GM Agenda making
Prompt if no valid lease registeredAdd 'date_signed' fieldFill out inventory information - only allowed once
add who added itadd some proposal textFormatting? Upload markdown? Paste markdown and render on detail page?Preview of markdown before submission
add form for adding proposaladd option to remove proposalList proposals currently open for votingAdd result to modelVote counting and single vote per userDisplay number of votes
- Option to edit a proposal
- Browse bylaws - subset of wiki / or its own, non-editable section
- User directory:
- Shows convenors
Cash overview- Open budgets
- Open proposals with money status
- Moving refunds and liaisons to the intranet? Make public list of refunds?
- mySQL? Heroku uses PostgreSQL, so maybe stick with that?
- Deploy to web? Heroku dynos? How many would we need? It'd be nice if they don't sleep
- Static files for wiki etc. S3 AWS recommended, requires credit card. Should cost micropennies
- Uses bootstrap v3.3.0
- AWS S3 for static files in production
- Uses django-wiki