This project involves creating a basic URL shortener using Go and Redis. The purpose is to convert lengthy URLs into shorter links, exploring key concepts of web development, API handling, and database management.
You can use this project to learn, explore, and implementing the technical concepts and best practices of web development using Go.
This project may not be the best way to create a URL shortener. The main idea of this project is to learn and explore the concepts of web development, API handling, and database management using Go.
The primary goal of this project is to assess and contrast the performance of the API under two conditions: with and without Redis caching.
Feel free to open an issue or a pull request if you have any ideas or suggestions. Contributions are always welcome.
✅: Completed | : Not Implemented | ⚒️: In Progress
GO - Main programming language used to build the APIMongoDB - Database to store the shortened URLsRedis - Database to cache the shortened URLsGin - HTTP web framework written in Go to build the APIMongo-go-driver - MongoDB driver for GoViper - Go configuration library.
├── LICENSE
├── README.md
├── controller
│ └── ... (controllers)
├── dev-logs.yml
├── go.mod
├── go.sum
├── main.go
├── model
│ └── ... (models)
├── router
│ └── ... (routers)
└── util
└── ... (utilities)
| Directory | Description |
|---|---|
controller |
Contains the controllers of the API |
model |
Contains the models of the API |
router |
Contains the routers of the API |
util |
Contains the utilities of the API |
Will be added soon
If you have any ideas or suggestions, feel free to open an issue or a pull request.? I would be happy to hear your thoughts.
This project is licensed under the MIT License.