Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DateTime Server - DohaElsawy #284

Open
16 tasks
dohaelsawy opened this issue Sep 15, 2024 · 0 comments · May be fixed by codescalersinternships/Datetime-Server-Doha#1
Open
16 tasks

DateTime Server - DohaElsawy #284

dohaelsawy opened this issue Sep 15, 2024 · 0 comments · May be fixed by codescalersinternships/Datetime-Server-Doha#1

Comments

@dohaelsawy
Copy link

Datetime Server

Create a basic HTTP server that returns the current date and time. Implement this server using multiple web frameworks, add tests, and containerize the application using Docker and Docker Compose.

Requirements:

  1. Server Functionality:

    • Endpoint: GET /datetime
    • Response: Current date and time
  2. Implementations:

    • Implement the server using:
      • Standard library (net/http)
      • Gin
  3. Testing:

    • Use Go's testing package and a HTTP testing library (e.g., httptest)
  4. Docker:

    • Create a Dockerfile for each framework implementation
    • Ensure each Docker image is optimized for size (Multistage builds)
  5. Docker Compose:

    • Create a docker-compose.yml file that runs all framework versions
    • Configure each service to run on a different port
  6. Documentation:

    • Provide a README with setup and running instructions
  7. Makefile driven: You should use make and a Makefile to drive the steps of

  • Building the binaries
  • Formatting
  • Linting
  • Building the images
  • Launching the containers

Optional Enhancements:

  • Implement graceful shutdown for each server

Acceptance Criteria:

  • All implementations pass the same test suite
  • Docker images build and run successfully
  • Docker Compose file correctly orchestrates all services
  • README provides clear instructions for running and testing the project
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant