Teacher Services technical documentation
Welcome to the technical documentation for apps and libraries in Teacher Services. This site is used internally in the Department for Education.
Repositories we own
Name | URL | Team |
---|---|---|
Apply for teacher training | DFE-Digital/apply-for-teacher-training | Apply |
Find teacher training | DFE-Digital/find-teacher-training | Publish & Find |
GOV.UK Markdown | DFE-Digital/govuk_markdown | Continuing Professional Development |
Publish teacher training | DFE-Digital/publish-teacher-training | Publish & Find |
Register trainee teachers | DFE-Digital/register-trainee-teachers | Register |
Teaching vacancies | DFE-Digital/teaching-vacancies | Teaching vacancies |
Get Into Teaching Application | DFE-Digital/get-into-teaching-app | Get Into Teaching |
Get Into Teaching API | DFE-Digital/get-into-teaching-api | Get Into Teaching |
Get Teacher Training Adviser | DFE-Digital/get-teacher-training-adviser-service | Get Into Teaching |
Get Into Teaching Asset Manager | DFE-Digital/GITISContent | Get Into Teaching |
Get School Experience | DFE-Digital/schools-experience | Get School Experience |
Monitoring | DFE-Digital/cf-monitoring | Teacher Services Infrastructure |
Github Actions | DFE-Digital/github-actions | Teacher Services Infrastructure |
Infrastructure | DFE-Digital/bat-infrastructure | Teacher Services Infrastructure |
Uptime | DFE-Digital/teacher-services-upptime | Teacher Services Infrastructure |
Apply for Qualified Teacher Status in England | DFE-Digital/apply-for-qualified-teacher-status | Teaching Regulation Agency |
Database of Qualified Teachers | DFE-Digital/database-of-qualified-teachers | Teaching Regulation Agency |
Find a lost TRN | DFE-Digital/find-a-lost-trn | Teaching Regulation Agency |
Qualified Teachers API | DFE-Digital/qualified-teachers-api | Teaching Regulation Agency |
Teacher Misconduct System | DFE-Digital/teacher-misconduct-system | Teaching Regulation Agency |
Teacher Services technical documentation | DFE-Digital/teacher-services-tech.docs | Teacher Services Infrastructure |
DfE Reference Data | DFE-Digital/dfe-reference-data | Teacher Services Infrastructure |
BAT Data Maps | DFE-Digital/bat-data-maps | Teacher Services Infrastructure |
BAT Dataform | DFE-Digital/bat-dataform | Data Insights |
DfE Analytics | DFE-Digital/dfe-analytics | Data Insights |
DfE Analytics Dataform | DFE-Digital/dfe-analytics-dataform | Data Insights |
ITT Mentor Services | DFE-Digital/itt-mentor-services | School Placements / Claim Funding for Mentors |
Claim Additional Payments for Teaching | DFE-Digital/claim-additional-payments-for-teaching | Claim |
Teacher Pay Calculator | DFE-Digital/teacher-pay-calculator | Claim |
Get a Teacher Relocation Payment | DFE-Digital/get-a-teacher-relocation-payment | Claim |
Rails apps and dependencies
C# apps and dependencies
repo | framework | dfe-analytics-net |
---|---|---|
DFE-Digital/get-an-identity | net7.0 | 0.1.0 |
DFE-Digital/get-into-teaching-api | net7.0 |
Table of contents
Operating a service
Publish teacher training courses
Register trainee teachers
- Azure Kubernetes Service / AKS cheatsheet
- # AKS terraform modules
- Alerting and Monitoring
- API Monitoring Guide for Register
- api
- Active Record Encryption Setup
- Authentication
- big_query_setup
- Configuration
- # Infrastructure Configuration
- Disaster recovery
- Emails
- Healthcheck and Ping Endpoints
- Machine setup
- Maintenance mode
- OpenAPI integration
- Installation
- Smoke Tests
- Support Playbook
- Testing & Linting
- Testing Data Migrations
- Importing funding data from CSVs
- 1. Record architecture decisions
- 2. Use adr-tools with custom template
- 3. Connections to DTTP Dynamics
- 4. Non-integer trainee IDs
- 5. Store invalid data in a column against ApplyApplication
- 5. Academic Cycles
- 7. Store academic cycles on trainees
- 8. Enable course year picker
- 9. Enable Sidekiq worker on productiondata
Apply for teacher training
- Support on Apply
- Apply Dev Support Playbook
- 1. Record architecture decisions
- 2. Use Devise for authentication
- 3. Initial data model
- 4. Application architecture
- 5. Application structure
- 6. Retrieving Data from Find Service
- 7. Integration with the Enterprise API Management Gateway
- 8. API extensions mechanism
- 9. Async and scheduled jobs
- 10. Use cookies for sessions
- 11. Storing Diversity Data
- 12. Improve security of the support interface
- 13. Course Option Validity
- 14. Alerting and Monitoring
- 15. Carrying over applications
- 16. Structured GCSE grades
- 17. Application Choice Updated At
- 18. Public ids for qualifications
- 19. JavaScript System Specs
- 20. Strict time control in test suite
- 21. Add TDA Courses to Apply / Manage
- 22. Realistic Job Preview Link Tracking
- 23. Add Active Storage with Azure Storage
- 24. Enabling Work Experience changes
Teaching vacancies
- Alert Runbook
- # Application secrets
- AWS credentials, MFA, and role profiles
- BAU tasks
- Bot mitigation
- Business Analyst Activities
- content-markdown-sample
- Continuous delivery
- PostgreSQL Database Backups
- Deploy, update, and remove environments
- Devcontainer
- Disaster recovery
- DNS
- Docker
- Authentication
- Front-end
- GitHub Actions
- Notes on Google Drive API Usage
- Jobseekers Authentication
- Hosting
- Infrastructure diagrams
- Integrations with other job posting services
- # Introduction
- Legacy local application setup
- Maintenance mode
- Monitoring and Logging
- Multistep form
- Offline site
- Onboarding
- Rollback
- Secrets detection
- Sentry
- Simulate Data Loss Disaster
- Terraform
- Use postcodes.io to get postcode from coordinates
- Replace Google Sheets with Big Query as a reporting database
- Replace Gitflow with Simple Git Workflow
- Environments after GOV.UK PaaS migration
- Switch from ElasticSearch to Algolia for search functionality
- Use Devise for authentication
- Continue to use Algolia as search engine
- 0009_build_job_applications_rather_than_buy_cots
- Migrate from Algolia to Postgres-based search
- Encourage use of devcontainers for local development
Get Into Teaching website
- Codespaces
- Configuration
- Content Documentation/Guide
- Deployment
- Development
- Application Disaster Recovery
- Events Portal
- Monitoring
- Sign up journeys
Get Into Teaching API
Get Into Teaching asset manager
Get School Experience
Monitoring
GitHub Actions
Infrastructure
Apply for QTS in England
- 1. Record architecture decisions
- 2. Reuse existing architecture
- 3. Model countries and regions
- 4. Tracking usage
- 5. Sending emails
- 6. Storing files
- 7. Application forms
- 8. View objects
- 9. Assessments
- 10. GOV.UK One Login
- Application form fixes
- Application Forms
- Countries and regions
- History and back links
- Infrastructure
- Setting up analytics
Database of Qualified Teachers
Find a lost TRN
- Change Redis service plan
- Encryption
- Find a lost TRN ops manual
- How to restore database from point in time backup
- Staff Authentication
- Find a lost TRN - Technical Architecture
- 1. Record architecture decisions
- 3. Use a Ruby on Rails monolith
- 4. Use postgres to handle persistence
- 5. Use automated tooling to check for CVEs in dependant packages
- 6. Sidekiq and Redis
- 7. Scheduled Jobs
- 8. Encrypt database fields
- 9. Delete Zendesk tickets
- 10. Support for Get an Identity
Teacher Misconduct System
- Teacher Misconduct System Architecture
- Process for Dynamics CRM evergreen upgrades
- TMS testing strategy (as of February 2022)
- TMS user support process (as of February 2022)
Claim additional payments for teaching
- Generate a CSV report of claims that are eligible for a LUP top up
- Connect to an instance running in Azure
- Developer onboarding
- DfE Sign-in
- First-line support developer runbook
- Deployment process
- Logging
- Payroll
- Privileged Identity Management (PIM) requests
- Generating School Check Data
- Secrets
Get an Identity
- Account page
- Analytics
- Find a lost TRN integration with the authorization server
- Get an Identity Technical Spikes Summary
- Teacher Services Get an Identity formerly Teacher ID - part of TS Data Transformation
- Register via a magic link
- Importing users into identity
- Webhooks
Early careers framework
- # Rails secrets management
- # Debugging in GovPaaS
- Feature test setup
- Handling participants moving from a cohort frozen for payments to the active cohort
- Maintenance mode
- Annual changes to pupil premiums and sparsity
- ## Terraform setup
Access your teaching qualifications
- 1. Record architecture decisions
- 2. Reuse existing architecture
- 8. Encrypt database fields
- 4. Implement the Check records service as part of AYTQ
- 5. Replace Devise with DSI OAuth for support users
- Architecture
- Azure Storage
- Data Schema
- Deployment
- DfE Sign In
- Encryption
- Review apps
- Routing two services
- Testing styleguide
Refer serious misconduct by a teacher
- 1. Record architecture decisions
- 2. Reuse existing architecture
- 3. Using email-based OTP for user sign in
- 4. Model most things directly on the Referral model
- Privileged Identity Management (PIM) requests
- Testing styleguide
Teaching record system
- Logical Data Model
- Teaching Reference Number (TRN)
- High level flow of signing in to a service that requires authorisation to the teaching record via GOV.UK One Login
Get an identity
- Account page
- Analytics
- Find a lost TRN integration with the authorization server
- Get an Identity Technical Spikes Summary
- Teacher Services Get an Identity formerly Teacher ID - part of TS Data Transformation
- Register via a magic link
- Importing users into identity
- Webhooks
GIT CRM API
ITT Mentor Services
- Rails Active Job
- Connect to an instance running in Azure
- Conventions
- Data model
- Environment Variables in Azure
- Feature flags
- Incident Cheatsheet
Get a Teacher Relocation Payment
- Azure Kubernetes Service / AKS cheatsheet
- Understanding Login Functionality
- Form Funnel Analytics
- Report Template
- 1. Record architecture decisions
- 3. Initial data model
- 3. Introduce PageObject via SitePrism for Testing
- 3. Update domain: extract school
- 5. Update domain: extract `Address` domain class
- 6. Update domain: extract Application model
External contributions
It’s highly recommended and encouraged to contribute to open source projects that we use. Here’s some of the things we’ve done:
- Added new tag styles to the Design System
- Created GOV.UK Design System community resources repo
- Improved the grammar in Design System documentation
- Improved the DfE form builder
- Improved the GOV.UK Notify ruby client
- Improved the GOV.UK Notify Rails integration
- Improved the GOV.UK Rubocop configuration
- Improved the MoJ frontend toolkit
- Improved the tech docs template docs