Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aswinbennyofficial/sre-exercises
Building a resilient backend project from scratch with Dockerization and CI/CD, incorporating Site Reliability Engineering (SRE) principles. Demonstrating best practices in modular architecture, logging, database migration, and CI/CD pipelines for automated testing, deployment.
https://github.com/aswinbennyofficial/sre-exercises
api backend docker go go-chi golang pgx postgres rest-api sre student-management-system vyper-config yaml-configuration zerolog
Last synced: 20 days ago
JSON representation
Building a resilient backend project from scratch with Dockerization and CI/CD, incorporating Site Reliability Engineering (SRE) principles. Demonstrating best practices in modular architecture, logging, database migration, and CI/CD pipelines for automated testing, deployment.
- Host: GitHub
- URL: https://github.com/aswinbennyofficial/sre-exercises
- Owner: aswinbennyofficial
- Created: 2024-03-18T17:06:07.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-03-23T05:39:21.000Z (11 months ago)
- Last Synced: 2024-11-18T07:17:10.419Z (3 months ago)
- Topics: api, backend, docker, go, go-chi, golang, pgx, postgres, rest-api, sre, student-management-system, vyper-config, yaml-configuration, zerolog
- Language: Go
- Homepage:
- Size: 41 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## 1 - Create a simple REST API Webserver
- Task link : [View Task](https://playbook.one2n.in/sre-bootcamp/sre-bootcamp-exercises/1-create-a-simple-rest-api)### Learning Outcomes
- Learn about the best practices for REST APIs.
- Learn about the Twelve-Factor App methodology.### Problem Statement
- Create a student CRUD REST API using any programming language and web framework of your choice. You can choose to use any of the following:
- Golang and Gin
- Java and Spring Boot
- Python and Flask
- Node.js etc.### Functional Requirement
Using the API we should be able to perform the following operations.
- Add a new student.
- Get all students.
- Get a student with an ID.
- Update existing student information.
- Delete a student record.### Expectations
The following expectations should be met to complete this milestone.
- Create a public repository on GitHub.
- The repository should contain the following
- README.md file explaining the purpose of the repo, along with local setup instructions.
- Explicitly maintaining dependencies in a file ex (pom.xml, build.gradle, go.mod, requirements.txt, etc).
- Makefile to build and run the REST API locally.
- Ability to run DB schema migrations to create the student table.
- Config (such as database URL) should not be hard-coded in the code and should be passed through environment variables.
- Postman collection for the APIs.- API expectations
- Support API versioning (e.g., api/v1/).
- Using proper HTTP verbs for different operations.
- API should emit meaningful logs with appropriate log levels.
- API should have a /healthcheck endpoint.
- Unit tests for different endpoints.## Getting started