Welcome! This is the in-progress website redesign for the IEEE-Eta Kappa Nu (HKN) University of California, Berkeley Mu Chapter, built with Django, Django REST framework, and Vue.js.
-
Fork and Clone the Repository: Go to https://github.com/compserv/hknweb and click on the "Fork" button in the top left corner to fork the repository to your GitHub account. Clone the repository to your local machine.
-
Install Python 3.9 and Poetry: Ensure you have Python 3.9 installed on your system. You can download it from python.org. Then, install Pipx if not already installed. Finally, install Poetry:
pipx install poetry
-
Install Dependencies: Navigate to the cloned repository directory (
hknweb
) in your terminal and run the following command to install project dependencies using Poetry:poetry install
-
Activate Virtual Environment: Run the following command to activate the virtual environment created by Poetry:
poetry shell
-
Apply Migrations: Apply all database changes using the following command:
python manage.py migrate
-
Run the Server: Finally, run the development server using the following command:
python manage.py runserver
You should now be able to access the website locally at
http://localhost:8000
.In order to access the admin interface, run
python manage.py createsuperuser
Complete the following prompts to create a local admin user, which can then be used to access the admin interface by logging in at http://localhost:8000/admin
.
The deployment pipeline pulls from compserv/master
to OCF servers using fabfile.py
.
# Activate our dev environment
poetry shell
# Depending on your ssh setup, this may or may not work for you:
HKNWEB_MODE="prod" fab deploy
# If your SSH key to the apphost requires a password to unlock:
HKNWEB_MODE="prod" fab --prompt-for-passphrase deploy
# If you have no SSH key to the apphost, and require password authentication:
HKNWEB_MODE="prod" fab --prompt-for-login-password deploy
If you'd like to contribute to this project, feel free to fork the repository, make your changes, and submit a pull request.
This project is licensed under the MIT License. Feel free to use, modify, and distribute the code as per the terms of the license.