Opensource repo for Lifefind, the first app that helps college students find lost items.
lifefind.co
View Demo
·
Report Bug
·
Request Feature
Lifefind was built as a hackathon project in 36-hours for HackIllinois 2023 (Devpost). Although not a winning project, I felt like the idea had potential and decided to pursue it as an open source project.
Lifefind is an app & website that helps college students find lost items. Everyday, many students lose and find items, but there is no centralized platform to organize item recovery. If you lost an item, make a post about what you lost along with descriptors (such as color etc) and any potential locations. Now, when someone finds the item, they can easily locate the owner of the item. Results are refined by category, and geolocation.
- Map fully integrated
- UI Designs complete
- Sorting Feature
- No route validation
- Feature Request lifefind.co/feature
See the open issues for a full list of proposed features (and known issues).
Frontend | Backend | API Services | Libraries |
---|---|---|---|
Next.js | ExpressJS | Cloudinary | SWOT |
Chakra-UI | MongoDB | SendGrid | |
react-icons | Twilio |
To run this locally, follow these simple steps.
- NPM 9.5+
- Google Cloud API Key (with Places and Maps Javascript API enabled)
- Empty MongoDB Atlas Project
- Cloudinary API Key
- SendGrid API Key
Once you have acquired API keys for all of the services above, clone the project.
git clone https://github.com/Jish2/lifefind.git
After cloning, install npm into the client and server directory.
Run this command after you cd into the cloned repo.
cd client; npm install; cd ../server; npm install; cd ..
Next, configure the environment variables for the client and server.
For the client, create a .env.local
file. Add the following variable, replacing the key with your Google Cloud API key.
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY="<GOOGLE CLOUD API KEY>"
For the server, create a .env
file.
PORT=3001
MONGO_URI="<MONGODB URI>"
SECRET="<ENTER ANYTHING HERE. FOR JWT TOKEN.>"
GOOGLE_MAPS_API_KEY=<GOOGLE CLOUD API KEY>
CLOUDINARY_API_KEY=<CLOUDINARY API KEY>
CLOUDINARY_API_SECRET=<CLOUDINARY API SECRET>
Also, create a .sendgrid.env
file.
export SENDGRID_API_KEY='SG.<SENDGRID API KEY>'
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Please do not hesistate to reach out! If you don't get a response quickly, try me on another platform. I normally respond within 48 hours, your message may have gone to spam!.
Joshua Goon
- Email: jgoon@indut.net
- LinkedIn: Joshua Goon
- Instagram: @jgoon3
- Discord: jgoon#9043