Skip to content

nuriu/golang-portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

golang-portfolio

Project portfolio powered by Go.

Projects

  • Task Manager - RESTful API with Go and Echo
    • Description: Develop a RESTful API for a simple task management application.
    • Skills Demonstrated: Basic CRUD operations, routing, middleware, authentication, and testing.
    • Tech Stack: Golang, Echo, JWT for authentication, GORM for ORM, PostgreSQL, Docker.
  • Concurrent Web Scraper
    • Description: Implement a web scraper that fetches and processes data from multiple websites concurrently.
    • Skills Demonstrated: Efficient concurrency handling, error handling, data storage in a database.
    • Tech Stack: Golang, Goroutines, Channels, ElasticSearch.
  • GraphQL API
    • Description: Create a GraphQL API for a blogging platform.
    • Skills Demonstrated: Queries and mutations for users, posts, comments, and likes.
    • Tech Stack: Golang, GraphQL (using gqlgen or similar library), PostgreSQL, Docker.
  • Microservices Architecture
    • Description: Develop a set of microservices for an e-commerce platform (e.g., user service, product service, order service).
    • Skills Demonstrated: Microservices design, communication between services (gRPC or HTTP), containerization (Docker), orchestration (Kubernetes), and service discovery.
    • Tech Stack: Golang, Docker, Kubernetes, gRPC/Protobuf, Kafka or RabbitMQ, PostgreSQL.
  • URL Shortener Service
    • Description: Create a service that shortens long URLs and redirects to the original URL.
    • Skills Demonstrated: URL creation, URL redirection, analytics on link usage.
    • Tech Stack: Golang, Redis (for storage), MongoDB, Docker, Gin.
  • Social Media Integration
    • Description: Build a service that integrates with social media APIs (e.g., Twitter, Facebook) to fetch and analyze data.
    • Skills Demonstrated: OAuth authentication, API rate limiting, data analysis and storage.
    • Tech Stack: Golang, OAuth, MongoDB, Docker.
  • Real-time Chat Application
    • Description: Develop a real-time chat application with WebSocket support.
    • Skills Demonstrated: WebSockets, real-time messaging, group chats, message history.
    • Tech Stack: Golang, Gorilla WebSocket, Angular or React for frontend, Redis (for message storage and pub/sub), Docker.
  • Job Queue System
    • Description: Implement a job queue system for handling background tasks.
    • Skills Demonstrated: Task scheduling, retry mechanism, task prioritization.
    • Tech Stack: Golang, Redis/RabbitMQ, PostgreSQL, Docker.
  • Event-Driven System
    • Description: Develop an event-driven application, such as a notification system.
    • Skills Demonstrated: Event producers and consumers, event storage, real-time notifications.
    • Tech Stack: Golang, Kafka/NATS, CouchBase, Docker.
  • DevOps Tooling
    • Description: Build a tool to assist with DevOps tasks, such as a CI/CD pipeline manager.
    • Skills Demonstrated: Pipeline configuration, job execution, monitoring and logging.
    • Tech Stack: Golang, Docker, Kubernetes, Jenkins/Travis CI, ELK Stack.

Additional Considerations

  • Documentation: Ensure each project has thorough documentation, including setup instructions, usage examples, and API references. This demonstrates professionalism and attention to detail.
  • Testing: Implement comprehensive unit and integration tests to showcase your commitment to quality and reliability.
  • CI/CD: Set up continuous integration and deployment pipelines using tools like GitHub Actions, Jenkins, or CircleCI.
  • Code Quality: Use linters, formatters, and follow best practices to maintain high code quality.
  • Architecture Diagrams: Include architecture diagrams for complex projects to illustrate your design thinking and system understanding.
  • ReadMe Files: Write detailed README files for each project, explaining the purpose, features, and how to run the project locally.

About

Go - Portfolio

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages