This was my personal project for module 3 at Turing School of Software and Design. I wanted to create an application that streamlined a few functionalities that Facebook already provided. The goal was to create a platform to search friends in a particular location and then message one particular friend or a group of friends in one location. A user should be able to login and logout, send and store messages to and from friends, and eventually, store groups of friends in particular locations. In this project, I implemented Firebase OAuth and database, used the Facebook Graph API, and tested with Enzyme/Jest.
Fork this project
Run npm install
from the root directory
Run npm start
and visit localhost:8080 in your browser
- ReactJS/Redux
- Firebase
- Facebook Graph API
- MomentJS
- THUNK
- Enzyme/Jest
The goal of this project is to create a successful web application from a project idea. You will create an app that will solve an actual problem.
A good project idea should:
- Break down into logical iterations so that you can deliver a strong product on every check-in
- Be something that real people would want to use to solve a problem
- Have enough technical challenge to be worth your time (as opposed to a content challenge)
- Feature Delivery
4: Developer completed all the user stories and requirements set in check-ins in timely manner.
3: Developer completed all the user stories and requirements set during check-ins.
2: Developer completed most of the user stories and requirements set during check-ins.
1: Developer completed the user stories and requirements partially.
4: Developer used a project management tool and updated their progress in real-time.
3: Developer used a project management tool to keep their project organized.
2: Developer used a project management tool but didn’t update the progress frequently.
1: Developer failed to use a project management tool to track its progress.
4: Project shows exceptional use of testing at different layers (above 95% coverage).
3: Project shows adequate testing (90% - 95% coverage).
2: Project shows gaps in test usage/coverage/design (85 - 90% coverage).
1: Project lacks sufficient testing (under 85% coverage).
4: Project demonstrates exceptionally well factored code.
3: Project demonstrates solid code quality, proper abstractions, and reduced duplication.
2: Project demonstrates some gaps in code quality..
1: Project demonstrates poor factoring.
4: Project exhibits a production-ready and polished UX.
3: Project exhibits a production-ready user experience.
2: Project exhibits some gaps in the UX.
1: Project exhibits inattention to the user experience.
- Refactor FriendList
- Error handling for no friends found at a location
- Fix Logout Functionality
- Make login dynamic (have to hardcode user token and id from facebook currently)
- Send a message to multiple people in a location at once
- Add google maps location