Our app SquadSearch lets you find others who are interested in or attending the same events so that you can form a group of people to go with. Through different chat boards you are able to communicate with a wide range of audiences attending all sorts of events across the world. You will be able to chat with other users on the app through a variety of different chat options where you can get to know new people and set up a meeting.
- 3-5 minimal
- Create events
- Create/update profile
- View/search through events
- 3-7 standards
- Multiple channels
- Join events and different chat channels
- Private messages
- Login/Authentication
- 2-3 stretch
- Grouping algorithm
- Video chatting
- Map with pins showing current event locations
- Module 1
- Module 2
- Frontend app initiated with create-react-app
- create-react-app allows a quick setup for React applications
- Redux for event, profile, and chat data
- Redux prevents React components from having large amount of application state. When paired with AsnycThunks, data from async API calls are seamlessly handled. We use Redux to store event, profile, and chat data
- code examples here and here
- Frontend app initiated with create-react-app
- Module 3
- Module 4
- MongoDB deployed on MongoDB Atlas
- MongoDB supports unstructured data which allows us to store image and chat data with ease. Mongoose allows easy integration with MongoDB as it translates objects in MongoDB to Javascript objects in code
- code example here
- MongoDB deployed on MongoDB Atlas
- Module 5
- Google Maps
- We display a map with makers to show the physical location of events. Location string is queried against Google Maps API and we retreive the geo-location information of the first result to display on the map
- Documentation
- To further develop the project, good code documentation would help developers to easily extend the functionality of the current system and possibly attract open-source contributions
- User Experience
- We can gather feedbacks from first-time users to improve on the user experience.
- Authentication
- Make the authentication system more robust by pairing the auth tokens with refresh tokens for better user experience Testing
- End-to-end testing with Selenium would make our project more robust
-
John
- Login / Auth: Implemented token-based authentication system
- Google Maps: Display a map to show physical location of events using Google Maps API
- Redux / API: Built redux and backend APIs for Event and User Profile data
-
Anthony
- Private Messages / Chatboards: Implemented private messaging and channel-based group messaging
- Redux / API: Built redux and backend APIs for Chat
-
Isaac
- Styled Frontend: Implemented the Styling of the app using Material UI
- Basic Functionality: Adding/deleting of events and users
- Google Maps: Showing map and locations of events