10000 GitHub - ministryofjustice/github-community: πŸš€ Passionate engineers delivering great services πŸš€ Find us on Slack at #github-community
[go: up one dir, main page]

Skip to content

ministryofjustice/github-community

Repository files navigation

πŸš€ GitHub Community

Ministry of Justice Repository Compliance Badge Open in Dev Container Open in GitHub Codespaces

Welcome to the GitHub Community! This repository serves as a central hub for community-driven projects within the Ministry of Justice GitHub space.

πŸ“œ Table of Contents

πŸ“£ About GitHub Community

The GitHub Community is a group of passionate engineers dedicated to building great services. It is run by volunteers and promotes an engineer-first approach, ensuring that projects remain in the hands of those who actively develop them. The community fosters innovation and collaboration by supporting multiple projects within the Ministry of Justice GitHub ecosystem.

πŸ“Œ Projects

The community currently provides the following projects and services:

Project Name Description
Repository Standards Improving code quality and security by centralizing knowledge and best practices for GitHub repositories.
Shared GitHub Actions Providing reusable GitHub Actions to reduce technical debt, improve maintainability, and enhance quality.
... More projects to be added...

πŸ—οΈ github-community Repository

The github-community repository serves as the primary hub and a single pane of glass for all things GitHub Community. To help engineers quickly build and deploy their projects, this repository hosts a modular monolithic Flask application. Engineers can optionally choose to host their ideas here, minimizing maintenance burdens while gaining quick access to shared components.

πŸ”‘ Key Features

  • Single Flask Application: A shared core framework hosting multiple projects.
  • Single Set of Dependencies: Simplified dependency management.
  • Shared Database (Amazon RDS - PostgreSQL): Minimal maintenance with easy access to data persistence.
  • Shared Authentication: Quickly secure projects with a common authentication layer.
  • Modular Code Structure: Projects are self-contained within the monolith.

πŸ“‚ Folder Structure

/github-community/
β”œβ”€β”€ app/                      # Core Flask application
β”‚   └── projects/                 # Individual project modules
β”‚       β”œβ”€β”€ repository_standards/     # Repository standards module
β”‚       β”œβ”€β”€ shared_github_actions/    # GitHub Actions module
β”‚       └── ...
β”‚   └── shared/                   # Shared modules
β”‚       β”œβ”€β”€ config/                   # Shared configuration settings
β”‚       β”œβ”€β”€ middleware/               # Shared middleware functions
β”‚       β”œβ”€β”€ routes/                   # Shared routes
β”‚       β”œβ”€β”€ database.py               # Shared database connection
β”‚       └── ...
β”œβ”€β”€ tests/                    # Automated tests
└── ...

🌎 Hosted Services

This repository provides a set of services accessible at github-community.service.justice.gov.uk, including:

  • βœ… Repository Standards – Automated reports on repository health and best practices.

βœ… Benefits

  • Simplified Maintenance – One codebase to manage.
  • Shared Components – Reduces duplication of common functionality.
  • Easier Collaboration – Community contributions are streamlined.
  • Scalable & Extensible – New projects can be added with minimal setup.

❌ Challenges

  • Coupling – Projects share infrastructure and dependencies.
  • Deployment Coordination – Updates affect all projects simultaneously.
  • Performance Considerations – Shared resources must be optimized.

πŸ› οΈ Development Setup

Prerequisites

  • Python 3+
  • Pipenv
  • Docker (optional for local database setup)

Setup Instructions

# Clone the repository
git clone https://github.com/ministryofjustice/github-community.git
cd github-community

# Install dependencies
pipenv install --dev

# Set up the database
docker compose -f docker-compose.yaml up --build

# Run the application
pipenv run app

πŸ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.

About

πŸš€ Passionate engineers delivering great services πŸš€ Find us on Slack at #github-community

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Contributors 5

0