{"id":28960473,"url":"https://github.com/ajao-victor/codealpha_folconnect","last_synced_at":"2026-04-11T11:04:36.988Z","repository":{"id":300770801,"uuid":"1004988186","full_name":"Ajao-Victor/CodeAlpha_folConnect","owner":"Ajao-Victor","description":"FolConnect app is an app for real time communication or video conferencing where conference room can be created and shared for co users to join the room and share files,videos,screen and even whiteboard for drawing and strategy making.","archived":false,"fork":false,"pushed_at":"2025-06-30T18:21:03.000Z","size":15978,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-30T18:45:03.996Z","etag":null,"topics":["css3","expressjs","html5","javascript","nodejs","socket-io","webrtc-video"],"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/Ajao-Victor.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,"zenodo":null}},"created_at":"2025-06-19T13:40:07.000Z","updated_at":"2025-06-30T18:21:06.000Z","dependencies_parsed_at":"2025-06-23T14:53:51.431Z","dependency_job_id":null,"html_url":"https://github.com/Ajao-Victor/CodeAlpha_folConnect","commit_stats":null,"previous_names":["ajao-victor/codealpha_folconnect"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ajao-Victor/CodeAlpha_folConnect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ajao-Victor%2FCodeAlpha_folConnect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ajao-Victor%2FCodeAlpha_folConnect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ajao-Victor%2FCodeAlpha_folConnect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ajao-Victor%2FCodeAlpha_folConnect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ajao-Victor","download_url":"https://codeload.github.com/Ajao-Victor/CodeAlpha_folConnect/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ajao-Victor%2FCodeAlpha_folConnect/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278391220,"owners_count":25978947,"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","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"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":["css3","expressjs","html5","javascript","nodejs","socket-io","webrtc-video"],"created_at":"2025-06-24T01:14:53.562Z","updated_at":"2025-10-05T00:08:27.745Z","avatar_url":"https://github.com/Ajao-Victor.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"    Welcome to folConnect! \nHey there! Thanks for checking out folConnect, a fun and easy-to-use video conferencing app that brings people together for real-time collaboration. Whether you’re catching up with friends, brainstorming with your team, or sharing ideas, folConnect has got you covered with video calls, a shared whiteboard, file sharing, and more. Built with love using Node.js, Express, Socket.IO, and WebRTC, it’s a lightweight yet powerful tool to connect folks seamlessly.\nWhat’s folConnect All About? 🌟\nfolConnect is your go-to platform for creating and joining virtual rooms where you can:\n\nVideo \u0026 Audio Chat: See and hear each other with smooth, real-time video and audio.\nCreate \u0026 Share Rooms: Generate unique room IDs and share links (like yourapp.com/room/abc123) to invite others.\nCollaborate on a Whiteboard: Sketch ideas together in a shared canvas.\nShare Files: Upload and share files with everyone in the room.\nScreen Sharing: Show your screen to present or demo something cool.\nSecure Sign-In: Sign up and log in with email and password, protected by JWT authentication.\n\nIt’s perfect for casual hangouts, remote work, or creative sessions, and it’s super easy to get started!\nGetting Started Locally 🖥️\nWant to run folConnect on your machine? Here’s how to set it up in a few simple steps.\nPrerequisites\n\nNode.js (v16 or higher): Download here.\nGit: To clone the repo.\nA terminal (macOS/Linux Terminal or Windows Command Prompt).\nA modern browser (Chrome, Firefox, etc.).\n\n    Installation\n\nClone the Repository:\ngit clone https://github.com/yourusername/folconnect.git\ncd folconnect\n\n\nInstall Dependencies:\nnpm install\n\n\nSet Up Environment Variables:Create a .env file in the root directory:\necho \"JWT_SECRET=$(openssl rand -hex 32)\" \u003e .env\necho \"PORT=8080\" \u003e\u003e .env\n\n\nCreate Uploads Directory (for file sharing):\nmkdir -p server/Uploads\nchmod 755 server/Uploads\n\n\nGenerate SSL Certificates (for local HTTPS):\nmkdir -p server/cert\ncd server/cert\nopenssl req -x509 -newkey rsa:4096 -keyout server.key -out server.cert -days 365 -nodes -subj \"/CN=localhost\"\ncd ../..\n\n\nStart the App:\nnpm run dev\n\nYou’ll see: Server running on https://localhost:8080.\n\nOpen in Browser:Visit https://localhost:8080 (accept the self-signed certificate warning). Sign up, log in, create a room, and invite someone to join!\n\n\nFolder Structure\n\nclient/: Frontend files (index.html, style.css, app.js).\nserver/: Backend files (server.js, auth.js, Uploads/ for files).\n.env: Environment variables (don’t commit this!).\npackage.json: Dependencies and scripts.\n\nDeploying to Render ☁️\nReady to share folConnect with the world? Here’s how to deploy it on Render so anyone can join your rooms via a public URL.\n\nPush to GitHub:\n\nInitialize a Git repo:git init\necho \"node_modules/\" \u003e .gitignore\necho \".env\" \u003e\u003e .gitignore\necho \"server/cert/\" \u003e\u003e .gitignore\necho \"server/Uploads/\" \u003e\u003e .gitignore\ngit add .\ngit commit -m \"Ready for deployment\"\n\n\nCreate a GitHub repo named folconnect and push:git remote add origin https://github.com/yourusername/folconnect.git\ngit branch -M main\ngit push -u origin main\n\n\n\n\nSet Up Render:\n\nSign in at render.com.\nClick “New” \u003e “Web Service” and connect your folconnect GitHub repo.\nConfigure:\nName: folconnect (e.g., folconnect.onrender.com).\nEnvironment: Node.\nBranch: main.\nBuild Command: npm install\nStart Command: npm start\n\n\nAdd environment variable:\nJWT_SECRET: Run openssl rand -hex 32 and paste the output.\n\n\nClick “Create Web Service”.\n\n\nTest It Out:\n\nOnce deployed, visit https://folconnect.onrender.com.\nCreate a room and share the link (e.g., https://folconnect.onrender.com/room/room-abc12345).\nTest video calls, whiteboard, and file sharing across devices.\n\n\n\nNote: Render’s free tier may sleep after inactivity, causing a brief delay on first load. For production, consider a paid plan.\nTips for Production 🌍\n\nAdd a TURN Server: Improve WebRTC connectivity by adding a TURN server in client/app.js:iceServers: [\n    { urls: 'stun:stun.l.google.com:19302' },\n    { urls: 'turn:your-turn-server.com', username: 'user', credential: 'pass' }\n]\n\n\nRate Limiting: Install express-rate-limit to prevent abuse:npm install express-rate-limit\n\nUpdate server/server.js:const rateLimit = require('express-rate-limit');\napp.use(rateLimit({ windowMs: 15 * 60 * 1000, max: 100 }));\n\n\nPersistent Storage: Currently, user data resets on server restart. Want to add PostgreSQL? Let me know!\n\n    Contributing \nLove folConnect and want to make it even better? Contributions are super welcome! Here’s how to get involved:\n\nFork the repo on GitHub.\nCreate a branch: git checkout -b your-feature.\nMake your changes and commit: git commit -m \"Add cool feature\".\nPush: git push origin your-feature.\nOpen a Pull Request on GitHub.\n\n    Ideas for contributions:\n\nAdd chat messaging.\nImprove UI with animations.\nSupport more file types for sharing.\n\n    Troubleshooting 🛠\n\nLocal Server Errors: Check npm run dev logs and ensure .env is set.\nWebRTC Issues: Ensure camera/mic permissions are granted and test with a TURN server.\nRender Deployment Fails: Check Render logs and verify package.json scripts.\nNeed help? Open an issue on GitHub or share logs from:npm start\n\n\n\n    Why folConnect? \nfolConnect is all about making connections simple and fun. Whether you’re hosting a virtual game night or a work meeting, it’s designed to bring people together with tools that spark creativity and collaboration. I built this app to learn and share, and I hope you enjoy using it as much as I enjoyed creating it!\nHappy connecting! \n\nAuthor: Victor Oluwatimileyin AJAO\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajao-victor%2Fcodealpha_folconnect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fajao-victor%2Fcodealpha_folconnect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajao-victor%2Fcodealpha_folconnect/lists"}