{"id":27000550,"url":"https://github.com/goodluckh/rolodex-on-prem","last_synced_at":"2025-07-22T23:02:19.039Z","repository":{"id":111079265,"uuid":"331800770","full_name":"GoodluckH/rolodex-on-prem","owner":"GoodluckH","description":"Ditch the spreadsheet! Start managing your professional network whenever, wherever you are.","archived":false,"fork":false,"pushed_at":"2021-01-22T04:29:35.000Z","size":255,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-04T03:28:50.333Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/GoodluckH.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}},"created_at":"2021-01-22T01:16:53.000Z","updated_at":"2021-02-13T20:00:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"e1799e3c-fa05-46a5-8f41-2ebe79405ac0","html_url":"https://github.com/GoodluckH/rolodex-on-prem","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GoodluckH/rolodex-on-prem","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodluckH%2Frolodex-on-prem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodluckH%2Frolodex-on-prem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodluckH%2Frolodex-on-prem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodluckH%2Frolodex-on-prem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GoodluckH","download_url":"https://codeload.github.com/GoodluckH/rolodex-on-prem/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodluckH%2Frolodex-on-prem/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266586839,"owners_count":23952195,"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-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":[],"created_at":"2025-04-04T03:27:20.280Z","updated_at":"2025-07-22T23:02:19.030Z","avatar_url":"https://github.com/GoodluckH.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]][license-url]\n[![LinkedIn][linkedin-shield]][linkedin-url]\n![npm][npm]\n![Lines of code][Lines of code]\n\u003cbr /\u003e\n[![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com)\n[![forthebadge](https://forthebadge.com/images/badges/made-with-javascript.svg)](https://forthebadge.com)\n[![forthebadge](https://forthebadge.com/images/badges/powered-by-black-magic.svg)](https://forthebadge.com)\n\n\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/GoodluckH/rolodex-on-prem\"\u003e\n    \u003cimg src=\"/client/public/favicon.png\" width=\"200\" height=\"200\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003eRolodex On-Prem Version\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    Ditch the spreadsheet! Start managing your professional network whenever and wherever you are.\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/GoodluckH/rolodex-on-prem\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://rolodex.netlify.app\"\u003eView Demo\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/GoodluckH/rolodex-on-prem/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/GoodluckH/rolodex-on-prem/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails open=\"open\"\u003e\n  \u003csummary\u003e\u003ch2 style=\"display: inline-block\"\u003eTable of Contents\u003c/h2\u003e\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#user-interface\"\u003eUser Interface\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cul\u003e\n      \u003cli\u003e\u003ca href=\"#get-connection-string-from-mongodb-atlas\"\u003eGet Connection String from MongoDB Atlas\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#configure-env\"\u003eConfigure ENV\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#run\"\u003eRun!\u003c/a\u003e\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003cli\u003e\u003ca href=\"#deployment\"\u003eDeployment\u003c/a\u003e\u003c/li\u003e\n    \u003cul\u003e\n      \u003cli\u003e\u003ca href=\"#backend\"\u003eBackend\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"#frontend\"\u003eFrontend\u003c/a\u003e\u003c/li\u003e\n    \u003c/ul\u003e\n    \u003cli\u003e\u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#acknowledgements\"\u003eAcknowledgements\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\nRolodex aims to eliminate frictions for professional network management. This repository serves an on-premise version since the project uses MongoDB to store contact information. For now, users need to create their own MongoDB Atlas database to store their own information.\n\nThe Rolodex demo communicates with my own Atlas database (open access for all public IPs). For that reason, the demo is more of a crowd-sourced version of Rolodex. Please be civil when trying out the demo because everyone can see what's on the rolodex. \n\n### User Interface\n\nRolodex is a simple, one-page web app that mainly consists of three interfaces.\n\n**Loading Page**\n\n[\u003cimg src=\"https://i.ibb.co/2S2D5J4/ezgif-com-gif-maker.gif\"\u003e](https://i.ibb.co/2S2D5J4/ezgif-com-gif-maker.gif)\n\n\n**Add Profile Page**\n\n[\u003cimg src=\"https://i.imgur.com/RgFObG3.png\"  width=\"600\" height=\"450\"\u003e](https://i.imgur.com/RgFObG3.png)\n\n**Rolodex Page**\n\n[\u003cimg src=\"https://i.imgur.com/WoYi9Jp.png\"  width=\"600\" height=\"450\"\u003e](https://i.imgur.com/WoYi9Jp.png)\n\n\n### Built With\n\n* [React](https://reactjs.org/)\n* [MongoDB Atlas](https://www.mongodb.com/cloud/atlas)\n* [Express](https://expressjs.com/en/guide/using-middleware.html)\n* [Node.js](https://nodejs.org/en/)\n\n\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\nTo get a local copy up and running follow these simple steps.\n\n\n### Installation\n\n1. Clone the repo\n   ```sh\n   git clone https://github.com/GoodluckH/rolodex-on-prem.git\n   ```\n2. Install NPM packages\n   ```sh\n   npm install\n   ```\n\n\n\n\u003c!-- USAGE EXAMPLES --\u003e\n## Usage\n\nRolodex sends and requests data from MongoDB Atlas. You will need to configure an Atlas cluster to run this project.\n\n### Get Connection String from MongoDB Atlas\nCreate a [MongoDB Atlas](https://www.mongodb.com/try) account, and create a new cluster (don't forget to whitelist your IP address and to add a user). Once the cluster is configured, click 'Connect' within the sandbox to start the process of generating a [connection string](https://docs.atlas.mongodb.com/reference/faq/connection-changes#std-label-connstring-standard).\n\n[\u003cimg src=\"https://i.imgur.com/gCZcJVQ.png\"  width=\"600\" height=\"450\"\u003e](https://i.imgur.com/gCZcJVQ.png)\n\nFor this project, choose \"Connect your application\".\n\n[\u003cimg src=\"https://i.imgur.com/caQfUEf.png\"  width=\"600\" height=\"450\"\u003e](https://i.imgur.com/caQfUEf.png)\n\nYou will be able to copy the connection string.\n\n\n### Configure ENV\nHead to `./server/routes`, where you will need to paste the connection string in the `.env.example` file, where the connection string is stored as ATLAS_URI. _Inside of the connection string, make sure that you have replaced `\u003cpassword\u003e` with your user password. And please don't include quotation marks that were originally in the `.env.example` file_.\n\nRename `.env.example` to `.env`.\n\n\n### Run!\n\nWithin the `server` directory, open up the terminal and run the following command:\n```sh\nnodemon serve\n```\nThis will allow you to check if the connection with MongoDB has established.\n\nSwitch to the `client` directory, run `npm start` to launch the app in your browser. \n\n\n## Deployment\n\n### Backend\n\nThe backend side of the project can be deployed on AWS, Google Cloud, Heroku, etc. Before the deployment, make sure to head to the `./server/routes` directory to add the following codes to the `index.js` file:\n```js\napp.get(\"/\", (req, res) =\u003e {\n  res.send(\"Your message\");\n});\n```\n\nOnce the backend is deployed on some server, go to `./client/src/components`, in each of the component file, find `localhost` links, and replace them with the URL that your hosting service provided.\n\n### Frontend\n\nIt is quite simple for frontend deployment. You can use services like Netlify to quickly deploy the `client`. If you use Netlify, be sure you put `CI= npm run build` for build command. This is because Netlify will treat warning messages as errors, which will result in build failures.\n\nAlternatively, run `npm run build` to generate the `build` directory where you can manually deploy the content.\n\n\u003c!-- ROADMAP --\u003e\n## Roadmap\n\nAdding user authentification to allow each user access his or her own database is the first and the most important feature Rolodex needs. \n\nFor future features, here are some ideas:\n\n* Automatically remind user to follow with a particular contact after `t` periods of time, where `t` can be configured by the user\n* Integration with calendars to automatically import contacts\n* Search function to quickly find contacts by name, company, and keywords in the comment sessions\n* Sort function; a new column that displays \"Date Added\"\n\nAlso see the [open issues](https://github.com/GoodluckH/rolodex-on-prem/issues) for a list of proposed features (and known issues).\n\n\n\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nContributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/NewFeature`)\n3. Commit your Changes (`git commit -m 'Add some NewFeature'`)\n4. Push to the Branch (`git push origin feature/NewFeature`)\n5. Open a Pull Request\n\n\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n\n\n\u003c!-- CONTACT --\u003e\n## Contact\n\nXipu Li - [@theXipuLi](https://twitter.com/theXipuLi)\n\nProject Link: [https://github.com/GoodluckH/rolodex-on-prem](https://github.com/GoodluckH/rolodex-on-prem)\n\n\n\n\u003c!-- ACKNOWLEDGEMENTS --\u003e\n## Acknowledgements\n\n* [Choose an open source license](https://choosealicense.com/)\n* [Material - UI](https://material-ui.com/)\n* [react-spinners](https://www.davidhu.io/react-spinners/)\n* [Screely](https://www.screely.com/)\n* [Othneil Drew](https://github.com/othneildrew)\n* [Shuming Xu](https://github.com/gundamMC)\n* [JetBrains Mono](https://www.jetbrains.com/lp/mono/)\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[stars-shield]: https://img.shields.io/github/stars/GoodluckH/rolodex-on-prem.svg?style=for-the-badge\n[stars-url]: https://github.com/GoodluckH/rolodex-on-prem/stargazers\n[issues-shield]: https://img.shields.io/github/issues/GoodluckH/rolodex-on-prem.svg?style=for-the-badge\n[issues-url]: https://github.com/GoodluckH/rolodex-on-prem/issues\n[license-shield]: https://img.shields.io/github/license/GoodluckH/rolodex-on-prem.svg?style=for-the-badge\n[license-url]: https://github.com/GoodluckH/rolodex-on-prem/main/LICENSE.txt\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://linkedin.com/in/xipuli\n[product-screenshot]: images/screenshot.png\n[npm]: https://img.shields.io/npm/v/npm.svg?style=for-the-badge\n[Lines of code]: https://img.shields.io/tokei/lines/github/GoodluckH/rolodex-on-prem.svg?style=for-the-badge\u0026color=red\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoodluckh%2Frolodex-on-prem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoodluckh%2Frolodex-on-prem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoodluckh%2Frolodex-on-prem/lists"}