Ditch the spreadsheet! Start managing your professional network whenever and wherever you are.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Rolodex 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.
The 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.
Rolodex is a simple, one-page web app that mainly consists of three interfaces.
Loading Page
Add Profile Page
Rolodex Page
To get a local copy up and running follow these simple steps.
- Clone the repo
git clone https://github.com/GoodluckH/rolodex-on-prem.git
- Install NPM packages
npm install
Rolodex sends and requests data from MongoDB Atlas. You will need to configure an Atlas cluster to run this project.
Create a MongoDB Atlas 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.
For this project, choose "Connect your application".
You will be able to copy the connection string.
Head 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 <password>
with your user password. And please don't include quotation marks that were originally in the .env.example
file.
Rename .env.example
to .env
.
Within the server
directory, open up the terminal and run the following command:
nodemon serve
This will allow you to check if the connection with MongoDB has established.
Switch to the client
directory, run npm start
to launch the app in your browser.
The 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:
app.get("/", (req, res) => {
res.send("Your message");
});
Once 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.
It 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.
Alternatively, run npm run build
to generate the build
directory where you can manually deploy the content.
Adding user authentification to allow each user access his or her own database is the first and the most important feature Rolodex needs.
For future features, here are some ideas:
- Automatically remind user to follow with a particular contact after
t
periods of time, wheret
can be configured by the user - Integration with calendars to automatically import contacts
- Search function to quickly find contacts by name, company, and keywords in the comment sessions
- Sort function; a new column that displays "Date Added"
Also see the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/NewFeature
) - Commit your Changes (
git commit -m 'Add some NewFeature'
) - Push to the Branch (
git push origin feature/NewFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Xipu Li - @theXipuLi
Project Link: https://github.com/GoodluckH/rolodex-on-prem