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 - Mohamed Fadel #285

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

DateTime Server - Mohamed Fadel #285

MohamedFadel01 opened this issue Sep 16, 2024 · 0 comments · May be fixed by codescalersinternships/Datetime-Server-MohamedFadel#1

Comments

@MohamedFadel01
Copy link
Member

MohamedFadel01 commented Sep 16, 2024

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