{"id":25819189,"url":"https://github.com/santilapi13/docker_compose_fullstack","last_synced_at":"2026-04-27T16:33:04.707Z","repository":{"id":241413493,"uuid":"804981108","full_name":"santilapi13/Docker_Compose_Fullstack","owner":"santilapi13","description":"Simple fullstack application using 3 Docker 🐳 containers for: CouchDB, React frontend and Express backend. ","archived":false,"fork":false,"pushed_at":"2024-07-09T14:45:17.000Z","size":85,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-24T10:32:21.078Z","etag":null,"topics":["couchdb","docker","docker-compose","express","fullstack-development"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/santilapi13.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-05-23T16:42:14.000Z","updated_at":"2024-07-09T21:39:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"abe7bb6d-a137-434c-9c2b-a2fc16133480","html_url":"https://github.com/santilapi13/Docker_Compose_Fullstack","commit_stats":null,"previous_names":["santilapi13/docker_compose_fullstack"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/santilapi13/Docker_Compose_Fullstack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/santilapi13%2FDocker_Compose_Fullstack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/santilapi13%2FDocker_Compose_Fullstack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/santilapi13%2FDocker_Compose_Fullstack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/santilapi13%2FDocker_Compose_Fullstack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/santilapi13","download_url":"https://codeload.github.com/santilapi13/Docker_Compose_Fullstack/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/santilapi13%2FDocker_Compose_Fullstack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32345804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["couchdb","docker","docker-compose","express","fullstack-development"],"created_at":"2025-02-28T08:44:47.442Z","updated_at":"2026-04-27T16:33:04.687Z","avatar_url":"https://github.com/santilapi13.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fullstack application with Docker Compose 🐳\nThis is a fullstack application with a React frontend, an Express and Node.js backend and a CouchDB database. \n## Frontend ⚛️\nThe frontend is a simple web page that displays a list of characters from films and an input field used to send new characters to the database. It's located in the \"frontend_container\" directory. The Alpine Linux image is used to build the frontend container from the Dockerfile.\n\nThe container port 8080 is mapped to the host port 3001: http://localhost:3001\n## Backend 🟢\nThe backend is a REST API that serves the list of characters to the frontend after fetching them from the database. It also receives new characters from the frontend and sends them to the database. The backend is constantly loading random characters to the database. It's located in the \"backend_container\" directory. The Node image is used to build the backend container from the Dockerfile.\n\nThe container port 3000 is mapped to the host port 3000, in the /data endpoint: http://localhost:3000/data\n## Database 🛋️\nThe database is a CouchDB instance that stores the characters and persists in the \"dbdata\" volume after the container is stopped. The container is loaded directly from the official CouchDB image. \n\nThe container port 5984 is mapped to the host port 5984 http://localhost:5984/_utils\n\n# Members\n- Santiago Lapiana\n- Wenceslao Ávalos\n\n# Requirements\nDocker and Docker Compose installed on your machine (https://docs.docker.com/engine/install/)\n\n# How to run\n1. Clone the repository with `git clone https://github.com/santilapi13/Docker_Compose_Fullstack.git`\n2. Navigate to the project directory with `cd Docker_Compose_Fullstack`\n3. Set environment variables in a `.env` file, in the same directory as `.env.example` file.\n   ```\n   DB_URL = 'http://couchdb_container:5984/data'\n   COUCH_USER = 'admin'\n   COUCH_PASS = 'admin'\n   ```\n5. Run `docker-compose up --build` to build and start the containers\n6. Open your browser and go to http://localhost:3001 to see the frontend\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsantilapi13%2Fdocker_compose_fullstack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsantilapi13%2Fdocker_compose_fullstack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsantilapi13%2Fdocker_compose_fullstack/lists"}