Community Table is an app made by Amber Horn, Dan Upchurch, Gabriel Gutierrez, and Nicole Loescher using React-Redux and a Python/Flask backend. All of our Github and Linkedin links are on the footer of our site, and included in our repo (but you can also find them here):
-
Amber Horn
-
Dan Upchurch
-
Gabriel Gutierrez
-
Nicole Loescher
Community Table was developed with the idea of being charitable to our neighbors and communities, while also being clear and accessible to anyone who might need it. The design philosphy was primarily focused on making the website modern and clean looking without compromising functionality that may be missed by someone who isn't as technically inclined. The site allows new users to create an account and immediately view resources posted by other users in their area or post their own resources they'd like to donate to someone in need. Once a resource is posted, another user can 'claim' the resource and specify the quantity they need. This will share their contact info with the user who's donating, and allow them to meet up to exchange the goods in question.
This application is using React and Redux for the Frontend. This was a great choice allowing us to make distinct and reusable components throughout the site, and our Redux store allows us to retrieve all kinds of information from our Backend and make it readily available in the Frontend.
The Backend is using Python and Flask. Flask was great throughout development as it's data oriented and super straight forward. All of our backend routes are written in Python and Flask allows us to simplify our data flow.
The Database is currently using SQLAlchemy and Alembic. SQLAlquemy is a great tool that works really well with our Flask integration, and Alembic is tailored around making Flask more intuitive and efficient.
The site uses Google Maps API for our map component. The Google Maps API was a straight forward integration that provides the site with detailed location information and visualization.
AWS is being used for image hosting. All the images on the site are being hosted on AWS which the site retrieves and uses seemlessly.
-
Home page with a Map component to view the locations of nearby resources available. This is what the main page looks like. The map allows users to check all the resources in the area and is accessible without being logged in.
-
Posting resources Any logged in user can post a new resource they'd like to donate to someone in their community. The New Resource form allows a user to describe and post something they'd like to donate to someone in need.
-
Searching Resources Users can search for resources through the home page's map component or through a list of all resources filtered by resource type. This is the Resource Categories Page. It allows users to find a list of all resources based on the category they choose.
-
Claiming Resources A logged in user can claim a resource posted by another user. When they claim a resource, they can set the amount they'd like to take (from what's available).
Detailed instructions on setting up the project and getting it running can be found in a folder titled "TextDocs" (here in the root of the project directory). There are two files separated for the Backend and for the Frontend separately. If you're trying to set up this project yourself and run into any issues, you can reach out to us directly at [email protected].