Social-With-Go is a backend social networking application built using Go. It provides RESTful API endpoints with features such as user authentication, data management, and notification integration.
- Robust API development using Go and Chi router
- PostgreSQL database integration for persistent storage
- Automated migration and validation support
- Swagger-based API documentation
- Email notifications via SendGrid
- Logging with Uber Zap
- Rate limiting middleware implemented for API request control
- Containerized using Docker for easy deployment and environment consistency
- Unit tests and static analysis incorporated
This project uses GitHub Actions for continuous integration and delivery. The workflow:
- Runs on every push and pull request to the master branch
- Verifies dependencies with
go mod verify - Builds the project using
go build - Runs static code analysis with
go vetandstaticcheck - Executes tests with race condition detection
This ensures code quality and stability through automated testing and auditing before merging or deployment.
- Clone the repository
- Run
go mod downloadto install dependencies - Set up PostgreSQL and configure the connection
- Build and run the Docker container for the application
- Run migrations and start the server:
go run main.goorgo build && ./Social-With-Go
- Static code analysis with
go vetandstaticcheck - Unit tests with race condition detection:
go test -race ./...
Contributions are welcome. Please open issues or pull requests for improvements or fixes.
This project is open source and available under the MIT License.