Chatti is an app that helps busy parents engage in quality time with their young children. The app suggests fun, quick activities to do, which are targeted at children's early stages development goals. The aim of the app is to close the developmental gap that exists between children starting school aged 4/5, as the significance of early years development means that this gap can persist for life.
Chatti is the brainchild of Jenny Malpass, starting from her experience on the Year Here programme.
We are GAP!....
- download the project with
git clone https://github.com/fac18/chatti.git
cd
into the folder- run
npm run gap
-> this will npm i the three(!) package.jsons - you will need environment variables in the server root for the database url, test database url, and JWT secret: speak to us
- run
npm run start:all
to simultaneously boot up the server and react app
The app is built with:
React, including React router, styled components and Formik form library
Express
Bcrypt and JWT for authentication
PostgreSQL (see database schema below)
Heroku
Videos and image URLs are hosted externally (e.g. Youtube and Imgur), and their URLs are stored in the database
See our user stories in Github here
Our Figma prototype can be found here
We were able to accomplish a lot of setup in our first build sprint, including:
- React, Express and PostgreSQL setup
- Create an account and login
- Basic layout of all components, some with hard-coded data
- React component testing
- Researching and using libraries, such as Formik and React-player.
In the second build sprint we pulled together many pieces, including:
- retrieving and rendering activities from database
- adding video player
- styling
- adding to/removing from favourites
Unfortunately there were some original parts of our MVP which had to be taken out of the scope. These included:
- Adding new activities to the user's profile (according to their preferred settings)
- Sending push notifications to alert user to new activities
- Following up with invitation to rate last activity
- Ability to update user's profile settings (the page is visibile but not interactive)
- Filtering activities list e.g. by type, age range
In hindsight we were too ambitious in what we chose to be our original MVP, especially given the technical difficulty of some of these elements. We were also managing at a reduced capacity of 3 team members vs our expected 4.
- The unmet goals, as above
- Setting up the community section
- Improve robustness of structure to avoid errors
- Set up GUI access to insert/update/delete content from database
- External consulting on security of authorisation
Released under the MIT license