September 18, 2020
A full stack app helping you choose where to eat. Based on a dating app (obvs)
- Project Type: Full stack
- Front end: React, Apollo, Firebase, Material UI
- Back end: Node.js, MondoDB, GraphQL
- Data: TripAdvisor API
- Testing: Jest, GraphiQL
Chicken Tinder was the final project piece of the Northcoders bootcamp. We used everything we had learned on the course to create a full stack app within a 2 week time frame.
I was in a team of 5 and the app idea was the brainchild of my team mate Lee. We had a few app ideas but Chicken Tinder got the best reception when we pitched them. The app name originally started as a joke but it eventually stuck, ha!
The project was completed fully remote thanks to the ‘Rona virus, but the team kept in touch constantly throughout the process. We followed agile practices and had regular stand ups, pair-programmed and used a kanban board. This was trickier due to working remotely, but thankfully some great tech helped us out, namely Discord, VS Code and Trello.
After deciding the app we were going to create we then had to choose what tech to use. We were encouraged to use tech we were unfamiliar with, but not just for the sake of it, so we spiked various bits of tech initially.
Our original plan was to use MongoDB and GraphQL on the back end which were both new to us. After success spiking we stuck with this plan, so that was the back end sorted. The plan for the front end was to build it with React Native and make a native mobile app, but during spiking some of the team members were having problems installing and getting the development setup working for React Native. As a result we decided to use React.js which we had already used on the course. Firebase was chosen for authentication as the documentation was great and extensive, and it’s made by Google so it must be good, right?
I tried to get involved with a bit everything during the project. Initially I helped Kristof and Lee to help build the back end and then later helped Telisa and Laura on the front end. I also took ownership of the app styling, creating the logo and using Material UI for the app layout and look.
The main challenge the team faced was getting to grips with GraphQL as it’s quite different from the RESTful APIs we had learned on the course. We also found testing and error handling on a GraphQL api differed quite a bit, but the GraphiQL IDE that comes with it is really great.
We also had some integration issues with Firebase and our MongoDB database, but they were eventually ironed out.
Overall I’m delighted with what we managed to achieve in such a short time frame and I believe the app works really well. There’s definitely some improvements we could make and areas where the app could be expanded so watch this space.
Posts written by Jordan Craigen, full stack developer.