---
# System prepended metadata

title: System Design (SD-1000)
tags: [System Design]

---

# System Design (SD-1000)

## Internship Management

You have been assigned as a tech lead for an internship management product. This platform will be used by mentors, trainers, coordinators, evaluators, interns, and other Leapfrog personnel to track the interns’ progress during the internship program.
As a tech lead, you are now assigned to decide on the choice of cloud infrastructure/ backend solution and design an architecture setup that will scale easily, remain secure, be highly available, and is generally easy to work with. You can also refer to the design we already have.

### Deliverables:
Create a presentation that includes the answer to the following questions. Include any prior experience that helped come up with your answers.
- Ideate and document the high-level business requirements for this application and create an architecture diagram for this system that can handle at least 10000 users who could be situated around the world at any given time. Also, keep scalability and maintainability in mind. How can you optimize this model further?
- How would you go about making this decision?
    - What are some of the variables and factors you would consider important in making this decision, and why?
    - What infrastructure/solution would you go with, and why?
    - How would your proposed system architecture look and why?
- Ideate and create the data model depicting the database schema for this application in a
    - non-relational database.
    - Relational database
- Ideate and outline the possible API endpoints for this.
    - Model all required endpoints in GraphQL over REST.

###### tags: `System Design`