{"id":22511436,"url":"https://github.com/alessioborgi/instasocial","last_synced_at":"2026-04-10T07:53:33.294Z","repository":{"id":163461181,"uuid":"567010564","full_name":"alessioborgi/InstaSocial","owner":"alessioborgi","description":"A web application for photo sharing, offering an Instagram-like experience. Users can upload, explore, and interact with photos in a community-driven environment. Equipped with features such as user profiles, feeds, likes, and comments, WASA Photo fosters creativity and social interaction in a seamless and responsive interface.","archived":false,"fork":false,"pushed_at":"2024-09-14T12:24:51.000Z","size":38104,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-02T02:29:22.765Z","etag":null,"topics":["axios","bearer-authentication","css","docker","go","golang","html","javascript","openapi","vuejs"],"latest_commit_sha":null,"homepage":"","language":"Vue","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/alessioborgi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2022-11-16T22:03:33.000Z","updated_at":"2024-09-14T14:42:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"f8d19525-dc7f-4e97-89d9-6171aa9a851c","html_url":"https://github.com/alessioborgi/InstaSocial","commit_stats":null,"previous_names":["alessioborgi/wasa_photo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alessioborgi%2FInstaSocial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alessioborgi%2FInstaSocial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alessioborgi%2FInstaSocial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alessioborgi%2FInstaSocial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alessioborgi","download_url":"https://codeload.github.com/alessioborgi/InstaSocial/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245949566,"owners_count":20698920,"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":["axios","bearer-authentication","css","docker","go","golang","html","javascript","openapi","vuejs"],"created_at":"2024-12-07T02:12:00.079Z","updated_at":"2026-04-10T07:53:33.246Z","avatar_url":"https://github.com/alessioborgi.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WASA Photo\n\n**Copyright © 2023 Alessio Borgi**\n\n**PROJECT SCOPE**: Build a complete Web Architecture for an Instagram-like platform, from the API Documentation, passing through the Backend and the Frontend, and ending with the Containerisation. This is a web application for photo sharing, offering an Instagram-like experience. Users can upload, explore, and interact with photos in a community-driven environment. Equipped with features such as user profiles, feeds, likes, and comments, WASA Photo fosters creativity and social interaction in a seamless and responsive interface.\n\n**PROJECT RESULTS**:\n- OpenAPI Documentation.\n- Go Backend.\n- JavaScript+VueJS+Axios+HTML+CSS Frontend.\n- Docker Containerizzzation. \n- Agile Development and Iterative Behaviour on the site development based on User Feedbacks. \n- 25 API Developed.\n\t- Possibility to Authenticate the user using a Bearer Token.\n\t- Possibility to Create, Modify, Retrieve, Delete an User Account. \t \n\t- Possibility to Follow, UnFollow another User Account.\n\t- Possibility to view Followers, Following and Banned Accounts.\n\t- Possibility to Ban, UnBan another User Account.\n\t- Possibility to Upload, Delete a Photo onto a User Account.\n\t- Possibility to Like, UnLike, Comment, UnComment a User Account's Photo.\n\t- Possibility to Scroll all the Stream of photos related to users we follow and possiblity to interact with them (Comment, Like, etc...)\n\n**PROJECT REPOSITORY**: https://github.com/alessioborgi/WASA_Photo\n\n## Project structure\n\n* `cmd/` contains all executables; Go programs here should only do \"executable-stuff\", like reading options from the CLI/env, etc.\n\t* `cmd/healthcheck` is an example of a daemon for checking the health of servers daemons; useful when the hypervisor is not providing HTTP readiness/liveness probes (e.g., Docker engine)\n\t* `cmd/webapi` contains an example of a web API server daemon\n* `demo/` contains a demo config file\n* `doc/` contains the documentation (usually, for APIs, this means an OpenAPI file)\n* `service/` has all packages for implementing project-specific functionalities\n\t* `service/api` contains an example of an API server\n\t* `service/globaltime` contains a wrapper package for `time.Time` (useful in unit testing)\n* `vendor/` is managed by Go, and contains a copy of all dependencies\n* `webui/` is an example of a web frontend in Vue.js; it includes:\n\t* Bootstrap JavaScript framework\n\t* a customized version of \"Bootstrap dashboard\" template\n\t* feather icons as SVG\n\t* Go code for release embedding\n\nOther project files include:\n* `open-npm.sh` starts a new (temporary) container using `node:lts` image for safe web frontend development (you don't want to use `npm` in your system, do you?)\n\n## Go vendoring\n\nThis project uses [Go Vendoring](https://go.dev/ref/mod#vendoring). You must use `go mod vendor` after changing some dependency (`go get` or `go mod tidy`) and add all files under `vendor/` directory in your commit.\n\nFor more information about vendoring:\n\n* https://go.dev/ref/mod#vendoring\n* https://www.ardanlabs.com/blog/2020/04/modules-06-vendoring.html\n\n## Node/NPM vendoring\n\nThis repository contains the `webui/node_modules` directory with all dependencies for Vue.JS. You should commit the content of that directory and both `package.json` and `package-lock.json`.\n\n## How to set up a new project from this template\n\nYou need to:\n\n* Change the Go module path to your module path in `go.mod`, `go.sum`, and in `*.go` files around the project\n* Rewrite the API documentation `doc/api.yaml`\n* If no web frontend is expected, remove `webui` and `cmd/webapi/register-webui.go`\n* If no cronjobs or health checks are needed, remove them from `cmd/`\n* Update top/package comment inside `cmd/webapi/main.go` to reflect the actual project usage, goal, and general info\n* Update the code in `run()` function (`cmd/webapi/main.go`) to connect to databases or external resources\n* Write API code inside `service/api`, and create any further package inside `service/` (or subdirectories)\n\n## How to build\n\nIf you're not using the WebUI, or if you don't want to embed the WebUI into the final executable, then:\n\n```shell\ngo build ./cmd/webapi/\n```\n\nIf you're using the WebUI and you want to embed it into the final executable:\n\n```shell\n./open-npm.sh\n# (inside the NPM container)\nnpm run build-embed\nexit\n# (outside the NPM container)\ngo build -tags webui ./cmd/webapi/\n```\n\n## License\n\nSee [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falessioborgi%2Finstasocial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falessioborgi%2Finstasocial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falessioborgi%2Finstasocial/lists"}