🟢 Live deployment: https://venome.cqls.oregonstate.edu
A website to store, visualize, and analyze venom proteins. In collaboration with the Venom Biochemistry & Molecular Biology Laboratory at Oregon State University 🦫.
demo-landing.mov
This project started as a 2023-2024 Senior Computer Science Capstone project at Oregon State University. See our OSU 2024 Engineering Capstone poster or our public landing page (video from above) for more info.
- Dev Quick Start below to quickly run the development server locally
docs/for in depth help or detailsrun.mdfor how to use ourrun.shbuild scriptoverview.mdfor an in depth overview for developers (if you're the next group working on this, start here)frontend.mdfor the frontend architecture and helpbackend.mdfor the backend architecture and helpdatabase.mdfor the database architecture and helpapi.mdfor how to create backend endpoints and connect them to the frontendauth.mdfor how we did authentication and limitationsdeployment.mdfor how to deploy to productionbuild.mdfor more details on building for development and production
This section tells you how to run the Venome website in five easy steps.
1. Install Docker
A quick way to install Docker is by installing Docker Desktop.
2. Setup Environment Variable
Create the secret key needed to encode user passwords by executing the
run.sh script in your terminal with the command
./run.sh create_secret [YOUR_KEY_HERE]3. Build the Website
Start the server with
./run.sh start4. Setup the Database
Load the existing data and database schema with. Choose one below
./run.sh reload_from_backup backups/v0.1-af35. View the website
🎉🥳 You're done! Go to http://localhost:5173 to see the website live.
(optional addons)
You can also add foldseek similarity search and TM Alignment with
./run.sh add_foldseek
./run.sh add_tmalignIf you would like to have autocomplete and other nice development features, keep reading.
We use VSCode for all development and make sure to download a few extensions like
- Ruff code formatter (for backend)
- Prettier code formatter (for frontend)
- Svelte (for frontend)
- Python (for backend)
for a better experience. Then to get autocomplete with those languages, you'll need to manually install the packages that have already been installed in the docker, but locally. Otherwise your VSCode won't know how to autocomplete.
First install the Poetry Python Package Manager by doing
pip3 install poetryThen install the packages listed under pyproject.toml by doing
poetry config virtualenvs.in-project true # required for the .venv to get created
poetry installThen install frontend packages
cd frontend
yarn