Skip to content

GoExpertPostGrad is an expansive compilation of academic projects, practical assignments, and theoretical learning from the Lato Sensu post-graduation course in Advanced Development in Golang - Go Expert.

Notifications You must be signed in to change notification settings

brunoliveiradev/GoExpertPostGrad

Repository files navigation

GoExpertPostGrad

A specialised repository dedicated to Advanced Development in Golang, mirroring the projects and learning experiences from the Lato Sensu Post-Graduation course in Advanced Development in Golang - Go Expert.

Description

GoExpertPostGrad is an expansive compilation of academic projects, practical assignments, and theoretical learning from the Lato Sensu post-graduation course in Advanced Development in Golang - Go Expert. This course is a collaboration between Full Cycle, an institution renowned for its technical excellence, led by the esteemed Wesley Willians, and Faculdade Brasília - FBr, a prestigious institution of higher learning in Brazil. This repository serves as a practical representation of the course's advanced Golang concepts, demonstrating the capabilities of Golang in software development.

Some highlights of what the course covers:

  1. Foundations: Exploration of Golang foundations like strong typing, pointers, and package management 🏗️
  2. API Development: Development of APIs with a focus on HTTP Server, Mux, Authentication, JWT tokens, and API documentation 🌐
  3. Concurrency & Multithreading: Advanced concepts like concurrency, multithreading, and race condition prevention 🚀
  4. Key packages: Extensive work with important packages, file manipulation, HTTP calls, JSON objects, and more 📦
  5. Implementations: Practical implementations like gRPC, GraphQL, AWS S3 file uploads, and RabbitMQ integration 🛠️
  6. Clean Architecture: Introducing clean architecture principles and their application in Golang 🏛️
  7. Context package: Understanding the role of context in Golang, including background, timeout, deadline, and cancellations ⏱️
  8. Automated testing: A strong focus on automated testing techniques and tools 🧪
  9. Databases: Detailed study of how Golang interacts with databases and ORM implementation 🗃️
  10. Deployment: Emphasis on deploying applications using Docker and Kubernetes 🚢

** This is a work in progress. The repository will be updated as the course progresses. **

Table of Contents

Installation

The project uses Go Modules for dependency management. To install, you need to:

  1. Clone the repository:
    git clone https://github.com/brunoliveiradev/GoExpertPostGrad.git
    
  2. Navigate to the GoExpertPostGrad folder:
    cd GoExpertPostGrad
    
  3. Download the required dependencies:
    go mod tidy
    
  4. Build the project:
    go build .
    

Usage

To use this repository, navigate to the respective project directories. Each directory represents a project or an assignment from the course, containing a separate README file with specific usage instructions.

Contribution

Contributions, issues, and feature requests are welcome. Feel free to check issues page if you want to contribute. Please make sure to update tests as appropriate.

Tests

To run the tests for the project:

  1. Navigate to the project directory you want to test.
  2. Run the following command:
    go test
    

License

This project is under the MIT License - see the LICENSE.md file for details.

Contact

If you have any questions, feel free to contact or open an issue. Contributors are always welcome!

Acknowledgements


Code with ❤️ by [Bruno Oliveira](https://linkedin.com/in/brunoliveiradev)

About

GoExpertPostGrad is an expansive compilation of academic projects, practical assignments, and theoretical learning from the Lato Sensu post-graduation course in Advanced Development in Golang - Go Expert.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published