{"id":26645013,"url":"https://github.com/amirmx2905/investigators","last_synced_at":"2026-04-08T11:31:56.647Z","repository":{"id":283573764,"uuid":"946975599","full_name":"amirmx2905/Investigators","owner":"amirmx2905","description":"A web platform connecting researchers in Mexico to collaborate on projects, articles, and events. Designed as a specialized networking tool for the CIATEQ community, it helps researchers find collaborators based on expertise, fostering interdisciplinary cooperation. ","archived":false,"fork":false,"pushed_at":"2025-05-09T04:27:39.000Z","size":28991,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-02T04:26:23.753Z","etag":null,"topics":["axios-react","django","django-rest-framework","docker","docker-compose","eslint","javascript","jwt","nginx-docker","postgresql","python","react","react-router-dom","swagger-ui","tailwindcss","vite"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/amirmx2905.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-12T00:56:17.000Z","updated_at":"2025-08-30T05:09:43.000Z","dependencies_parsed_at":"2025-04-12T05:26:09.160Z","dependency_job_id":"7c60d0e2-4b29-449e-82d3-c056d20a5311","html_url":"https://github.com/amirmx2905/Investigators","commit_stats":null,"previous_names":["amirmx2905/investigators"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/amirmx2905/Investigators","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirmx2905%2FInvestigators","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirmx2905%2FInvestigators/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirmx2905%2FInvestigators/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirmx2905%2FInvestigators/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amirmx2905","download_url":"https://codeload.github.com/amirmx2905/Investigators/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirmx2905%2FInvestigators/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31554061,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T10:21:54.569Z","status":"ssl_error","status_checked_at":"2026-04-08T10:21:38.171Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["axios-react","django","django-rest-framework","docker","docker-compose","eslint","javascript","jwt","nginx-docker","postgresql","python","react","react-router-dom","swagger-ui","tailwindcss","vite"],"created_at":"2025-03-24T21:34:00.677Z","updated_at":"2026-04-08T11:31:56.621Z","avatar_url":"https://github.com/amirmx2905.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Investigators\n\nA web platform connecting researchers in Mexico to collaborate on projects, articles, and events. Designed as a specialized networking tool for the CIATEQ community, it helps researchers find collaborators based on expertise, fostering interdisciplinary cooperation.\n\n\u003cbr\u003e\n\n## Tech Stack\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://www.python.org/\" style=\"text-decoration: none;\"\u003e\u003cimg src=\"https://img.shields.io/badge/Python-3776AB?style=for-the-badge\u0026logo=python\u0026logoColor=white\" alt=\"Python\"\u003e\u003c/a\u003e\u0026nbsp;\n    \u003ca href=\"https://www.djangoproject.com/\" style=\"text-decoration: none;\"\u003e\u003cimg src=\"https://img.shields.io/badge/Django-092E20?style=for-the-badge\u0026logo=django\u0026logoColor=white\" alt=\"Django\"\u003e\u003c/a\u003e\u0026nbsp;\n    \u003ca href=\"https://www.postgresql.org/\" style=\"text-decoration: none;\"\u003e\u003cimg src=\"https://img.shields.io/badge/PostgreSQL-336791?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white\" alt=\"PostgreSQL\"\u003e\u003c/a\u003e\u0026nbsp;\n    \u003ca href=\"https://www.django-rest-framework.org/\" style=\"text-decoration: none;\"\u003e\u003cimg src=\"https://img.shields.io/badge/Django_REST-FF1709?style=for-the-badge\u0026logo=django\u0026logoColor=white\" alt=\"Django REST Framework\"\u003e\u003c/a\u003e\u0026nbsp;\n    \u003ca href=\"https://jwt.io/\" style=\"text-decoration: none;\"\u003e\u003cimg src=\"https://img.shields.io/badge/JWT-000000?style=for-the-badge\u0026logo=jsonwebtokens\u0026logoColor=white\" alt=\"JWT\"\u003e\u003c/a\u003e\u0026nbsp;\n    \u003ca href=\"https://reactjs.org/\" style=\"text-decoration: none;\"\u003e\u003cimg src=\"https://img.shields.io/badge/React-61DAFB?style=for-the-badge\u0026logo=react\u0026logoColor=black\" alt=\"React\"\u003e\u003c/a\u003e\u0026nbsp; \n    \u003ca href=\"https://vitejs.dev/\" style=\"text-decoration: none;\"\u003e\u003cimg src=\"https://img.shields.io/badge/Vite-646CFF?style=for-the-badge\u0026logo=vite\u0026logoColor=white\" alt=\"Vite\"\u003e\u003c/a\u003e\u0026nbsp;\n    \u003ca href=\"https://tailwindcss.com/\" style=\"text-decoration: none;\"\u003e\u003cimg src=\"https://img.shields.io/badge/TailwindCSS-06B6D4?style=for-the-badge\u0026logo=tailwindcss\u0026logoColor=white\" alt=\"TailwindCSS\"\u003e\u003c/a\u003e\u0026nbsp;\n    \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript\" style=\"text-decoration: none;\"\u003e\u003cimg src=\"https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge\u0026logo=javascript\u0026logoColor=black\" alt=\"JavaScript\"\u003e\u003c/a\u003e\u0026nbsp;\n    \u003ca href=\"https://reactrouter.com/\" style=\"text-decoration: none;\"\u003e\u003cimg src=\"https://img.shields.io/badge/React_Router-CA4245?style=for-the-badge\u0026logo=react-router\u0026logoColor=white\" alt=\"React Router\"\u003e\u003c/a\u003e\u0026nbsp;\n    \u003ca href=\"https://axios-http.com/\" style=\"text-decoration: none;\"\u003e\u003cimg src=\"https://img.shields.io/badge/Axios-5A29E4?style=for-the-badge\u0026logo=axios\u0026logoColor=white\" alt=\"Axios\"\u003e\u003c/a\u003e\u0026nbsp;\n    \u003ca href=\"https://eslint.org/\" style=\"text-decoration: none;\"\u003e\u003cimg src=\"https://img.shields.io/badge/ESLint-4B32C3?style=for-the-badge\u0026logo=eslint\u0026logoColor=white\" alt=\"ESLint\"\u003e\u003c/a\u003e\u0026nbsp;\n    \u003ca href=\"https://www.docker.com/\" style=\"text-decoration: none;\"\u003e\u003cimg src=\"https://img.shields.io/badge/Docker-2496ED?style=for-the-badge\u0026logo=docker\u0026logoColor=white\" alt=\"Docker\"\u003e\u003c/a\u003e\u0026nbsp;\n    \u003ca href=\"https://www.nginx.com/\" style=\"text-decoration: none;\"\u003e\u003cimg src=\"https://img.shields.io/badge/Nginx-009639?style=for-the-badge\u0026logo=nginx\u0026logoColor=white\" alt=\"Nginx\"\u003e\u003c/a\u003e\u0026nbsp;\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n## Setup Guide\nThis guide will help you set up the project on either Mac or Windows.\n\u003cbr\u003e\n\n### Prerequisites\n\n- Docker and Docker Compose\n- Git\n\n\u003cbr\u003e\n\n## Installation Steps\n\n### 1. Clone the Repository\n\n```bash\ngit clone https://github.com/amirmx2905/Investigators.git\ncd Investigators\n```\n\u003cbr\u003e\n\n### 2. Create Environment File\n\nCreate a `.env` file in the `Investigators` directory with the following content:\n\n```bash\n# Django settings\nDEBUG=True\nSECRET_KEY=[|/Ur0JeBDBvuE=?%60p.I9]?V9~rKj{ASSb](O-kzVA\\zM\u003eFU #Change this secret key to a random value in production\nALLOWED_HOSTS=localhost,127.0.0.1\nCORS_ALLOWED_ORIGINS=http://localhost:5173,http://localhost:80,http://localhost\n\n# Database settings\nDB_ENGINE=django.db.backends.postgresql\nDB_NAME=investigators\nDB_USER=postgres\nDB_PASSWORD=your_password # Make sure to use a strong password\nDB_HOST=db\nDB_PORT=5432\n\n# Frontend settings\nVITE_API_URL=http://localhost/api\n\nTIME_ZONE=UTC\n```\n\n`Note`: In the .env file you should only change the DB_PASSWORD field (for database security). The other variables are configured to work with the Docker setup and should remain as provided.\n\n\u003cbr\u003e\n\n### 3. Start the Docker Containers\n\nThe first time you start the Docker containers you should use the following command:\n```bash\ndocker-compose up --build\n```\nThis command will:\n\n- Build all necessary Docker images (the --build flag ensures everything is built from scratch)\n- Create containers for PostgreSQL, Django backend, React frontend, and Nginx\n- Set up networking between containers\n- Load initial test data into the database\n- Start all services\n\n\u003cbr\u003e\n\n### 4. Access the Application\n\nOnce all containers are running, you can access:\n- Frontend: http://localhost/\n- API: http://localhost/api/\n- API Documentation: http://localhost/api/docs/\n\n\u003cbr\u003e\n\n### 5. Default Admin User\n\nThe applicacion comes with a pre-configured admin user to access the frontend:\n- Username: admin\n- Password: admin\n\n\u003cbr\u003e\n\n### 6. Stopping the Application\n\nTo stop all containers, use the following command:\n```bash\ndocker-compose down\n```\n\n\u003cbr\u003e\n\n### 7. For Subsequent Runs\n\nAfter the initial build, you can use the following command:\n```bash\ndocker-compose up \n#or ctrl+c\n```\n\n\u003cbr\u003e\n\n### 8. Rebuilding after Code Changes\n\nIf you make changes to the code and need to rebuild:\n```bash\ndocker-compose up --build\n```\n\n\u003cbr\u003e\n\n## Project Structure\n\n```bash\nInvestigators/\n├── backend/           # Django backend\n│   ├── investigators/ # Main app\n│   ├── project/       # Project settings\n│   ├── manage.py      # Django management script\n│   └── requirements.txt\n├── frontend/          # React frontend\n│   ├── src/           # Source code\n│   ├── package.json   # Node dependencies\n│   └── vite.config.js # Vite configuration\n├── nginx/             # Nginx configuration for production\n│   ├── conf/          # Config files\n│   └── Dockerfile     # Nginx Docker image\n├── docker-compose.yml # Docker services configuration\n└── .env               # Environment variables\n```\n\n\u003cbr\u003e\n\n## Working with the Application\n\nYou can access the PostgreSQL database using:\n\n```bash\n# Connect to the PostgreSQL container\ndocker exec -it investigators-db-1 bash\n\n# Connect to the database\npsql -U postgres -d investigators\n\n# Within psql, you can run SQL queries\n# For example, list all tables:\n\\dt\n```\n\nOr using a database tool like DBeaver, connect with:\n\n```bash\nHost: localhost\nPort: 5433 (mapped port in docker-compose)\nDatabase: investigators\nUser: postgres\nPassword: your_password (or whatever you set in .env)\n```\n\n\u003cbr\u003e\n\n## Troubleshooting\n\n### Port Conflicts\n\nIf you see errors about ports already in use:\n\n```bash\n# Stop any current PostgreSQL service\nsudo service postgresql stop  # Linux\nbrew services stop postgresql # Mac\n```\n\nOr change the external port in `docker-compose.yml`\n\n```bash\nports:\n  - \"5433:5432\"  # Change 5433 to any available port\n```\n\n\u003cbr\u003e\n\n### Container Fails to Start:\n\nCheck the logs for specific errors:\n\n```bash\ndocker-compose logs backend\ndocker-compose logs frontend\ndocker-compose logs nginx\n```\n\n\u003cbr\u003e\n\n## License\n\nThis project is licensed under the MIT License - see the `LICENSE` file for details.\n\n\u003cbr\u003e\n\n## Authors\n\n- [@amirmx2905](https://github.com/amirmx2905)\n- [@WatchfulInk](https://github.com/WatchfulInk)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famirmx2905%2Finvestigators","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famirmx2905%2Finvestigators","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famirmx2905%2Finvestigators/lists"}