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 | Candidate & Provendor |
Apply for teacher training tests | DFE-Digital/apply-for-teacher-training-tests | Candidate & Provendor |
Apply ops dashboard | DFE-Digital/apply-ops-dashboard | Candidate & Provendor |
BAT tech team guide | DFE-Digital/bat-tech-guide | Publish/Register, Candidate & Provendor |
Find teacher training | DFE-Digital/find-teacher-training | Candidate |
Find teacher training tests | DFE-Digital/find-teacher-training-tests | Candidate |
GOV.UK Markdown | DFE-Digital/govuk_markdown | Candidate & Provendor |
Publish teacher training | DFE-Digital/publish-teacher-training | Publish & Register |
Register trainee teachers | DFE-Digital/register-trainee-teachers | Publish & Register |
Publish teacher training courses | DFE-Digital/publish-teacher-training | Publish & 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 Placments / Track and Pay |
Rails apps and dependencies
repo | rails | ruby | dfe-analytics | dfe-reference-data | dfe-autocomplete |
---|---|---|---|---|---|
DFE-Digital/publish-teacher-training | 7.1.3.2 | 3.2.3 | 1.12.6 | ||
DFE-Digital/register-trainee-teachers | 7.1.3.2 | 3.2.2 | 1.12.6 | 3.1.4 | |
DFE-Digital/apply-for-teacher-training | 7.1.3.2 | 3.2.3 | 1.12.3 | 3.1.4 | 0.1.0 |
DFE-Digital/teaching-vacancies | 7.1.2 | 3.3.1 | 1.12.6 | ||
DFE-Digital/get-into-teaching-app | 7.0.2.3 | 3.1.4 | 1.11.6 | ||
DFE-Digital/schools-experience | 7.0.8.1 | 3.1.4 | 1.5.3 | ||
DFE-Digital/apply-for-qualified-teacher-status | 7.1.3.2 | 3.3.0 | 1.12.6 | 0.1.0 | |
DFE-Digital/find-a-lost-trn | 7.1.3.1 | 3.3.0 | 0.1.0 | ||
DFE-Digital/claim-additional-payments-for-teaching | 7.0.8.1 | 3.2.0 | 1.11.6 | ||
DFE-Digital/early-careers-framework | 7.1.3.2 | 3.2.2 | 1.12.6 | ||
DFE-Digital/npq-registration | 7.1.2 | 3.1.2 | |||
DFE-Digital/access-your-teaching-qualifications | 7.1.3.2 | 3.3.0 | 1.12.5 | ||
DFE-Digital/refer-serious-misconduct | 7.1.3.2 | 3.3.0 | 1.12.3 | ||
DFE-Digital/itt-mentor-services | 7.1.3.2 | 3.3.1 | 1.12.3 |
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
- Active Record Encryption Setup
- Authentication
- big_query_setup
- Configuration
- # Infrastructure Configuration
- Disaster recovery
- Emails
- Healthcheck and Ping Endpoints
- Machine setup
- Maintenance mode
- Installation
- 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
Apply for teacher training
- AKS alerting configuration
- Azure Kubernetes Service / AKS cheatsheet
- Apply APIs
- Azure Infrastructure
- # BigQuery and reports
- Security scanning with Brakeman
- # Candidate Flow
- Code review guidelines
- Developing in GitHub Codespaces
- View components
- How to: connect to a production database
- Understanding the different course option fields
- Data migrations
- How to: restore a database
- How to: deploy Apply
- Developer On-boarding
- DfE sign-in set-up
- Docker for DevOps
- Editable Sections ideas
- # Email validations in Apply
- Environment Variables
- Frontend development
- Geocoding
- HESA Overview
- Lessons learned
- How to: perform load testing on Apply
- How to: manually deploy Apply
- How to: create and deploy a new environment in Azure
- Parallel Tests
- Performance monitoring
- Permissions in Apply
- PIM rights for production access
- Pipeline variables
- Enabling PostgreSQL extensions
- Reasons for rejection
- Application States (#status)
- Support on Apply
- Apply Dev Support Playbook
- How to: swap Azure App Service slots
- Testing styleguide
- Teacher Training API (TTAPI)
- Vendor API Minor Versions
- Wizards
- 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
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
- Hosting
- Infrastructure diagrams
- 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. Application forms
- 9. Assessments
- Application form fixes
- 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
- Developer onboarding
- DfE Sign-in
- Docker hub
- First-line support developer runbook
- Heroku
- Deployment process
- Logging
- Payroll
- Privileged Identity Management (PIM) requests
- Release Process
- 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
- # Cypress + cucumber setup
- # Debugging in GovPaaS
- Feature test setup
- 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
- 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
- How to restore database from point in time backup
- 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
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