This is the source code for the UpVent's website under upvent.codes
.
Development occurs on the master
branch and new branches are only opened when adding critical/unstable features. The main site is published by upvent making a fork of this project and adding some post-update commits in order to make deployment more secure.
PLEASE CONSIDER THESE THINGS FIRST
1- Some content is in Spanish(MX), translate it at your own will.
2- There might be dummy content in master
branch, if you cannot afford to have experimental features in production, please use the release tags or the stable
branch instead.
- Django powered backend
- Jinja2 templating
- HTML + CSS + JS
- Shell scripting for deploying
- One issue per thing to do.
- Milestones for major releases
- All PR's will be manually reviewed
- KEEP IT SIMPLE, we are already using two frameworks and six libraries. As much as these technologies are useful, we don't want to contribute to the bloated web, keep things simple, secure and easy to maintain
- Frameworks: Django, Bootstrap 5
- Libraries:
django-admin-honeypot
,pillow
,django-ckeditor
,django-admin-interface
,django-simple-captcha
andbootstrap-icons
- Very tiny CMS. Not full featured. Not complex.
- Keep it as secure as possible. We use
django-honeypot
to protect our admin url from attackers. Change your real admin url and use the honeypot for common attack patterns. - Don't break
stable
. All changes must undergo testing or find a way to prevent breakage on thestable
branch, if breakage is unavoidable, create a decent solution to allow existing stable users to migrate easily.
For any serious security related issues, please do not open a public GitHub issue.
Instead, email them to our issues email. We provide a quick response of security reports within 24 hours and should apply patches ASAP (also, feel free to contribute a fix for the issue).
If you wish to continue please look at our ISSUES tab, open a new Issue to request a feature or report a bug.
If this work helped you somehow, please leave us a star 🐱 it will mean so much to us ❤️
If you wish to contribute to this project here are the steps you need to follow:
-
Clone the project
git clone https://github.com/UpVent/upvent.codes.git
-
Create a virtualenv and install dependencies using Pipenv
# If pipenv is not installed pip3 install pipenv # Install dependencies + spawn a shell pipenv install && pipenv shell
-
(If needed) Make migrations & migrate the database
# If needed python manage.py makemigrations # Migrate to db python manage.py migrate
-
Run the project server
python manage.py runserver
We won't provide (for now) instructions on how to deploy to a server, the steps should be the same as a simple django app. However here are a few steps you should follow:
- Change the default admin url, we placed
wp-admin
as a meme to troll wappalizer users. Don't use it in production. - Change the secret key or generate a new one in a separate file.
- DON'T use the sqlite database, use the supported mysql or modify the project to connect to psql.
- Protect your media folder against execution
The source code is free software distributed under the GNU General Public License, version 2 ONLY. (See LICENSE.)
The website contents are creative commons released under CC-BY-ND-3.0-International.
Thanks to @corahama for helping us jumpstart this project..