{"id":20671901,"url":"https://github.com/yagoinacio/portfolio-server","last_synced_at":"2026-04-18T22:33:30.590Z","repository":{"id":209935530,"uuid":"725293978","full_name":"YagoInacio/portfolio-server","owner":"YagoInacio","description":"API for efficiently managing portfolio content, facilitating dynamic updates to the frontend","archived":false,"fork":false,"pushed_at":"2024-06-09T17:10:42.000Z","size":225,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-17T13:49:31.959Z","etag":null,"topics":["echo","firebase-storage","mongodb","portfolio","testify"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YagoInacio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-29T20:59:30.000Z","updated_at":"2024-06-09T17:10:45.000Z","dependencies_parsed_at":"2024-06-09T18:19:08.485Z","dependency_job_id":null,"html_url":"https://github.com/YagoInacio/portfolio-server","commit_stats":null,"previous_names":["yagoinacio/portfolio-server"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YagoInacio%2Fportfolio-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YagoInacio%2Fportfolio-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YagoInacio%2Fportfolio-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YagoInacio%2Fportfolio-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YagoInacio","download_url":"https://codeload.github.com/YagoInacio/portfolio-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242891000,"owners_count":20202269,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["echo","firebase-storage","mongodb","portfolio","testify"],"created_at":"2024-11-16T20:29:51.605Z","updated_at":"2026-04-18T22:33:25.536Z","avatar_url":"https://github.com/YagoInacio.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"GitHub language count\" src=\"https://img.shields.io/github/languages/count/yagoinacio/portfolio-server?color=353949\"\u003e\n\n  \u003cimg alt=\"Repository size\" src=\"https://img.shields.io/github/repo-size/yagoinacio/portfolio-server\"\u003e\n\n  \u003ca href=\"https://github.com/yagoinacio/portfolio-server/commits/main\"\u003e\n    \u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/yagoinacio/portfolio-server\"\u003e\n  \u003c/a\u003e\n\n   \u003cimg alt=\"License\" src=\"https://img.shields.io/badge/license-MIT-brightgreen\"\u003e\n\n  \u003ca href=\"https://yagofaran.dev\"\u003e\n    \u003cimg alt=\"Made by Yago Faran\" src=\"https://img.shields.io/badge/made_by-Yago_Faran-353949\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003e\n    \u003cimg alt=\"Logo Yago Faran\" title=\"#YagoFaran\" src=\"./assets/logo.svg\" /\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n \u003ca href=\"#-portfolio-server\"\u003eAbout\u003c/a\u003e •\n \u003ca href=\"#-tech-stack\"\u003eTech Stack\u003c/a\u003e • \n \u003ca href=\"#-features\"\u003eFeatures\u003c/a\u003e •\n \u003c!-- \u003ca href=\"#-layout\"\u003eLayout\u003c/a\u003e •  --\u003e\n \u003ca href=\"#-how-it-works\"\u003eHow it works\u003c/a\u003e • \n \u003c!-- \u003ca href=\"#-contributors\"\u003eContributors\u003c/a\u003e •  --\u003e\n \u003ca href=\"#-author\"\u003eAuthor\u003c/a\u003e • \n \u003ca href=\"#-license\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\n## 💻 Portfolio Server\n\nThis API is designed to improve the management of project and experience information for your portfolio website, ensuring a seamless rendering and effortless updating process. Additionally, it facilitates interaction with Firebase Storage, allowing you to efficiently load and display icons and images, enhancing the overall visual experience of your portfolio.\n\n## 🛠 Tech Stack\n\n-   **[Echo](https://echo.labstack.com)**\n-   **[MongoDB](https://www.mongodb.com/docs/drivers/go/current/)**\n-   **[Firebase Storage](https://firebase.google.com/docs/storage)**\n-   **[Testify](https://github.com/stretchr/testify)**\n-   **[Viper](https://github.com/spf13/viper)**\n\n## ✨ Features\n\n- [x] Technologies:\n  - [x] Create\n  - [x] List\n  - [x] Enable/Disable\n\n- [x] Experiences:\n  - [x] Create\n  - [x] List\n  - [x] Update\n\n- [x] Projects\n  - [x] Create\n  - [x] List\n  - [x] Enable/Disable\n  - [x] Update\n\n- [x] Images:\n  - [x] Get Images\n  - [x] Get Icons\n\n## 🚀 How it works\n\nThis instructions will allow you to run a functional version of the project on your local machine.\n\n### 📋 Pre-requisites\n\nBefore you begin, you will need to have the following tools installed on your machine:\n[Git](https://git-scm.com), [Go](https://go.dev).\nIn addition, it is good to have an editor to work with the code like [VSCode](https://code.visualstudio.com/)\n\n#### 🔧 Instalation\n\n```bash\n# Clone this repository\n$ git clone git@github.com:yagoinacio/portfolio-server.git\n\n# Access the project folder cmd/terminal\n$ cd project\n\n# install the dependencies\n$ go mod tidy\n```\n\n#### 🔧 Configuration\n\nTo be able to run the application you need to set up the environment variables.\n\nFor that, create the subfolder ```credentials``` on the project's root folder.\n\nOn the ```credentials``` folder, create the file ```.env```. You can follow the example bellow:\n\n```bash\n# db.env.properties:\nAPI_PORT=9000\nDATABASE_URL=\"mongodb+srv://[USERNAME]:[PASSWORD]@[HOST]/[DATABASE]?retryWrites=true\u0026w=majority\"\nDATABASE_NAME=mongo_database\n\n#  make sure to replace [USERNAME], [PASSWORD], [HOST], and [DATABASE] with actual values\n```\n\nYou will also need to add your firebase credentials file to the ```credentials``` folder with the name ```firebase_credentials.json```.\n\n#### 🎲 Running the application\n\n```bash\n# Run the application in development mode\n$ go run ./cmd/portfolio/main.go\n\n# The server will start at port: 9000 - go to http://localhost:9000\n```\n\nYou can try out the API using its swagger documentation on http://localhost:9000/swagger-ui/index.html\n\n#### ✅ Running automated tests\n\n```bash\n# Run automated tests\n$ go test ./...\n\n# The test automation will run for unit tests\n```\n\n## 🦸 Author\n\n\u003ca href=\"https://yagofaran.dev\"\u003e\n \u003cimg style=\"border-radius: 50%;\" src=\"https://avatars.githubusercontent.com/yagoinacio\" width=\"100px;\" alt=\"\"/\u003e\n \u003cbr /\u003e\n \u003csub\u003e\u003cb\u003eYago Faran 💧\u003c/b\u003e\u003c/sub\u003e\n\u003c/a\u003e\n\n[![Github Badge](https://img.shields.io/badge/-YagoInacio-gray?style=flat-square\u0026labelColor=gray\u0026logo=github\u0026logoColor=white\u0026link=https://github.com/yagoinacio)](https://github.com/yagoinacio)\n[![Linkedin Badge](https://img.shields.io/badge/-Yago-blue?style=flat-square\u0026logo=Linkedin\u0026logoColor=white\u0026link=https://www.linkedin.com/in/yagoinacio/)](https://www.linkedin.com/in/yagoinacio/) \n[![Gmail Badge](https://img.shields.io/badge/-yagofaran@gmail.com-c14438?style=flat-square\u0026logo=Gmail\u0026logoColor=white\u0026link=mailto:yagofaran@gmail.com)](mailto:yagofaran@gmail.com)\n\n## 📝 License\n\nThis project is under the license [MIT](./LICENSE).\n\nMade with ❤️ by Yago Faran 👋🏽 [Get in touch!](https://www.linkedin.com/in/yagoinacio/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyagoinacio%2Fportfolio-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyagoinacio%2Fportfolio-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyagoinacio%2Fportfolio-server/lists"}