Skip to content

EarlhamInst/COPO-production

Repository files navigation

Collaborative OPen Omics (COPO) Project

The Collaborative OPen Omics (COPO) project is an open-source web-based platform that enables scientists to describe their research objects (e.g. raw or processed data, assemblies, reads, samples and images) using community-sanctioned metadata sets and vocabularies.

As a metadata broker, COPO encourages scientists to submit metadata that complies with the Findable, Accessible, Interoperable and Reusable (FAIR) principles. These research objects are then shared with the wider scientific community via public repositories. The COPO project is based at the Earlham Institute in Norwich, England, United Kingdom.

This repository builds on the work of the COPO GitHub repository (now archived), which laid the foundation for the current implementation.

Tech stack overview

Category Tools / Libraries Purpose / Usage
Backend Development Python, Django Core application logic and web framework
Scripting & Automation Python, Bash Automation, setup scripts, and server-side utilities
Web framework Django (5.x), Django REST Framework Back-end web development, RESTful API design
Task queue & scheduling Celery, Redis, aioredis Background task processing, caching, async queues
Database PostgreSQL, MongoDB Persistent data storage and querying
Deployment & serving Docker, Docker Swarm, Gunicorn, Nginx Production-ready app serving and containerisation
Frontend technologies JavaScript (server-side), jQuery Dynamic client-side behaviour and lightweight interactivity
Testing & QA pytest, Selenium, CircleCI, Django Test Framework Automated testing and browser interaction validation
DevOps / CI/CD GitHub Actions (CI/CD), Git Version control and automated deployment pipelines
Data handling Pandas, NumPy, openpyxl / XlsxWriter Data manipulation and scientific computing
File storage Django Storages, S3, MinIO, ECS (deprecated) Cloud-based file storage and management
Document generation Sphinx, ReadTheDocs Auto-generated user documentation
HTML parsing / Scraping BeautifulSoup, bs4 HTML content parsing, web scraping
User authentication django-allauth OAuth, OpenID, and account authentication
Real-time features Channels, Daphne WebSocket support and async communication
Styling & forms django-crispy-forms, crispy-bootstrap5 Form rendering and UI styling

Related repositories

Additional resources

About

COPO is a Django-based platform that serves as a metadata broker to describe research data per FAIR principles. It supports community-recognised metadata standards, ensuring data is discoverable, interoperable, and accessible. Submitted data is accessible via public repositories, promoting long-term preservation and reuse across systems.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors