{"id":38946732,"url":"https://github.com/clairep94/acebook-messenger","last_synced_at":"2026-01-17T16:03:04.237Z","repository":{"id":217314958,"uuid":"743555053","full_name":"clairep94/acebook-messenger","owner":"clairep94","description":"Facebook clone with realtime messaging using the MERN stack, Socket.io. Personal Extension from the 'Acebook' Group Project at Makers Academy. ","archived":false,"fork":false,"pushed_at":"2024-03-14T13:02:45.000Z","size":8692,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-03-15T12:35:39.558Z","etag":null,"topics":["facebook-clone","mern-stack","react","socket-io","vite"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clairep94.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}},"created_at":"2024-01-15T13:40:21.000Z","updated_at":"2024-03-15T12:35:39.558Z","dependencies_parsed_at":"2024-03-14T12:32:55.976Z","dependency_job_id":"8f8a83f0-7080-4bea-9e9a-15c842c4ceba","html_url":"https://github.com/clairep94/acebook-messenger","commit_stats":null,"previous_names":["clairep94/acebook-messenger"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/clairep94/acebook-messenger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clairep94%2Facebook-messenger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clairep94%2Facebook-messenger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clairep94%2Facebook-messenger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clairep94%2Facebook-messenger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clairep94","download_url":"https://codeload.github.com/clairep94/acebook-messenger/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clairep94%2Facebook-messenger/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28511852,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"last_error":"SSL_read: 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":["facebook-clone","mern-stack","react","socket-io","vite"],"created_at":"2026-01-17T16:03:04.151Z","updated_at":"2026-01-17T16:03:04.221Z","avatar_url":"https://github.com/clairep94.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# About Acebook Messenger\n\nAcebook Messenger is a small personal extension of the [Acebook Group Project at Makers Academy](https://github.com/clairep94/acebook-team-griffins), which uses socket.io to add real-time messaging.\n\n- [Project Brief](./project-brief/README.md)\n- [Project Documentation](./project-brief/DOCUMENTATION.md)\n\n#### [NOTE: I am working on a new version of the project to demonstrate cleaner code organization, and the ability to create modern, responsive frontend styling with Tailwind CSS. Please see the repo here](https://github.com/clairep94/acebook)\n\n# Project Features\n\n## New: Messaging:\n\nhttps://github.com/clairep94/acebook-messenger/assets/128436909/adb7ad43-5f59-489e-a777-af6c8abbbfb2\n\n\n- Users can create chats with other users and see them in realtime\n- Users can send each other messages, with emojis, and see them in realtime\n\n\n## Registration \u0026 Login\n\n\n\nhttps://github.com/clairep94/acebook-Griffins/assets/128436909/bd56e989-74fe-441d-98ac-067aeeb99a32\n\n\n- Users can register and log in\n- Users can see an error message if their email is already registered with Acebook\n- Users can see an error message if the user signs in with the wrong password\n\n## New Post\n\n\nhttps://github.com/clairep94/acebook-Griffins/assets/128436909/a18d95f6-6a49-4c87-bcc0-c31cb1ff4149\n\n\n\n- Users see their name in the new post text input box\n- Users can post both images and text\n\n## Timeline \u0026 Posts\n\n\nhttps://github.com/clairep94/acebook-Griffins/assets/128436909/97a75f11-4742-4b75-912b-a834da9a83dc\n\n\n\n- Users can see a timeline of posts, sorted by Newest first\n- Users can see the post author, relative and absolute timestamps, and link to their profiles\n- Users can like/unlike posts\n- Users can see a list of comments\n- Users can add a new comment\n  \n## Sort by Trending\n\n\nhttps://github.com/clairep94/acebook-Griffins/assets/128436909/f6dfd789-a0ba-41cf-95b5-4566dfbf4920\n\n\n\n- Users can sort posts by New or sort by Trending\n- Users can see 🔥 next to trending posts -- newer posts with more recent engagement (comments, likes) are prioritised\n\n\n## Searchbar\n\n\nhttps://github.com/clairep94/acebook-Griffins/assets/128436909/d795443f-2289-4e03-8f8b-fb5f96098f03\n\n\n\n- Users can use live-search searchbar \n\n## Profile\n\n\nhttps://github.com/clairep94/acebook-Griffins/assets/128436909/b38500e9-f0e0-4d7f-8559-caabc3dc091e\n\n\n- Users can see their profile, profile picture, bio, email, and past posts \n- Users can update their bios\n\n## Friends\n\n\nhttps://github.com/clairep94/acebook-Griffins/assets/128436909/40ae6a16-627a-41aa-9d53-e897e294134c\n\n\n\n- Users can send/unsend friend requests on other user's profiles\n- Users can confirm/deny friend requests in their friend requests page or on other users' pages \n- Users can see a notification in their navbar if they have a friend request\n- Users can unfriend friends through their friends list or on other users' pages\n\n## Timeout\n\n\n\nhttps://github.com/clairep94/acebook-Griffins/assets/128436909/ce384f55-9a04-40c8-b7f0-ad4423e0f4b4\n\n\n- If inactive for 20 minutes, users get timed out and a log-in prompt occurs\n\n# Installing Project Dependencies:\n\n### Node.js\n1. Install Node Version Manager (nvm)\n   ```\n   brew install nvm\n   ```\n   Then follow the instructions to update your `~/.bash_profile`.\n2. Open a new terminal\n3. Install the latest version of [Node.js](https://nodejs.org/en/), currently `18.1.0`.\n   ```\n   nvm install 18\n   ```\n\n### MongoDB\n1. Install MongoDB\n   ```\n   brew tap mongodb/brew\n   brew install mongodb-community@5.0\n   ```\n   *Note:* If you see a message that says `If you need to have mongodb-community@5.0 first in your PATH, run:`, follow the instruction. Restart your terminal after this.\n2. Start MongoDB\n   ```\n   brew services start mongodb-community@5.0\n   ```\n\n### Project Dependencies\n\n1. npm install in the three main folders:\n\n   ``` shell\n   ; cd api\n   ; npm install\n   ; cd ../frontend\n   ; npm install\n   ; cd ../socket\n   ; npm install\n   ```\n\n2. Add Cloudinary account API credentials\n\nThis project uses Cloudinary for media storage. \nAdd a `.env` file to your root folder and add the following variables (replacing the values with your Cloudinary account API credentials)\n  \n  ``` shell\n  ; CLOUDINARY_CLOUD_NAME=your_cloud_name\n  ; CLOUDINARY_API_KEY=your_api_key\n  ; CLOUDINARY_API_SECRET=your_api_secret\n  ```\n\n\n\n# Running the App:\n\n1. Start the server application (in the `api` directory)\n\n   ```shell\n   ; cd api\n   ; JWT_SECRET=f6d278bb34e1d0e146a80b16ec254c05 npm start\n   ```\n\n2. Start the front end application (in the `frontend` directory)\n\n  In a new terminal session...\n\n  ```shell\n  ; cd frontend\n  ; npm start\n  ```\n\nYou should now be able to open your browser and go to `http://localhost:3000/`\n\n3. Start the socket (in the `socket` directory)\n\n   In a new terminal session...\n\n```shell\n; cd socket\n; npm start\n```\n\n\n\u003c!---\n# How to run automated tests\n\nThe automated tests run by sending actual HTTP requests to the API. Therefore, before anything, you'll need to start the backend server in test mode (so that it connects to the test DB).\n\n**Note the use of an environment variable for the JWT secret**\n\n```bash\n# Make sure you're in the api directory\n; cd api\n\n; JWT_SECRET=f6d278bb34e1d0e146a80b16ec254c05 npm run start:test\n```\n\nYou should leave this running in a terminal.\n\nThen, you can either run tests for the backend or the frontend following the steps below. \n\n#### Running tests for the backend\n\nRun the tests in a new terminal session:\n\n```bash\n# Make sure you're in the api directory\n; cd api\n\n; JWT_SECRET=f6d278bb34e1d0e146a80b16ec254c05 npm run test\n```\n\n####  Running tests for the frontend\n\nStart the front end in a new terminal session\n\n```bash\n# Make sure you're in the frontend directory\n; cd frontend\n\n; JWT_SECRET=f6d278bb34e1d0e146a80b16ec254c05 npm start\n```\n\nThen run the tests in a new terminal session\n\n```bash\n# Make sure you're in the frontend directory\n; cd frontend\n\n; JWT_SECRET=f6d278bb34e1d0e146a80b16ec254c05 npm run test\n```\n---\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclairep94%2Facebook-messenger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclairep94%2Facebook-messenger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclairep94%2Facebook-messenger/lists"}