Skip to content

Latest commit

 

History

History
56 lines (34 loc) · 3.9 KB

README.md

File metadata and controls

56 lines (34 loc) · 3.9 KB

Neighborly

Neighborly Logo

Neighborly is a community-driven platform that connects people within the same city or neighborhood, allowing them to responsibly borrow, lend, or trade various items like tools, vehicles, or extra storage space. It aims to foster a sense of community, promote sustainability, and reduce waste and consumption by facilitating resource sharing among neighbors.

Atlas Madness 2023 Grand Prize Winner!

Atlas Madness 2023 Banner

Neighborly was built as my submission to the Atlas Madness 2023 Hackathon, sponsored by Google and MongoDB. It was awarded with the Grand Prize, you can check out the submission over on Devpost! A big thank you to Google, MongoDB, and all of the judges for putting together such a fun event.

Technologies Used

  • MongoDB Atlas - MongoDB's serverless database and application service. I used the built in user authentication methods, a databse cluster with custom GraphQL resolvers, and the serverless Functions feature.
  • Google Cloud Storage - Cloud storage buckets are used for hosting images that users upload along with their posts.
  • Google Cloud Functions - A serverless compute platform for running event-driven functions in the cloud.
  • Google Cloud Build & Google Cloud Run - Used to deploy the Dockerized version of this app to the cloud, without the need to manage infrastructure. The custom domains feature was used to link to beneighborly.xyz!
  • Create React App w/ Apollo Client - A popular tool for bootstrapping React applications. Apollo is used to interface with the GraphQL API.

Local Development Setup

To run Neighborly locally, follow these steps:

  1. Clone the repository: git clone https://github.com/peterrauscher/Neighborly.git
  2. Navigate to the project directory: cd Neighborly
  3. Install the dependencies: npm install
  4. Start the development server: npm start
  5. Open your browser and visit http://localhost:3000 to view Neighborly.

Note: Details about running with your own Atlas and Google Cloud instances coming soon. Right now, things are hardcoded to use my own infrastructure.

Deployment

Neighborly is deployed using Google Cloud Run and can be accessed at https://beneighborly.xyz. The deployment process involves building a Docker container and deploying it to Google Cloud Run. Make sure you have the necessary permissions and credentials set up to deploy the application to Google Cloud.

To deploy Neighborly:

  1. Build the Docker image: docker build -t neighborly .
  2. Tag the image with the Google Container Registry URL: docker tag neighborly gcr.io/[project-id]/neighborly
  3. Push the image to the Google Container Registry: docker push gcr.io/[project-id]/neighborly
  4. Deploy the container to Google Cloud Run: gcloud run deploy --image gcr.io/[project-id]/neighborly --platform managed

Follow the prompts and configure the necessary settings during the deployment process.

Contributing

We welcome contributions to Neighborly! If you have any ideas, suggestions, or bug reports, please submit an issue or open a pull request. Make sure to follow the contributing guidelines when contributing to this project.

License

Neighborly is released under the MIT License. Feel free to use, modify, and distribute the code as per the terms of the license.


Thank you for your interest in Neighborly! We hope this platform brings communities closer together and promotes responsible resource sharing. If you have any questions or need assistance, please don't hesitate to reach out to our support team at [email protected].