This is Kikiapp. We are creating an app that curates sexual health resources for the queer community. We are a platform for queer sexual education, for sexual liberation, for knowledge, for power, joy, freedom, and connection.
Languages and Frameworks:
Tested using:
Hosted by:
The Gatsby framework and the NPM package library make it easy to get up and running for local development work.
First, make sure you have Git and Node.js (and therefor NPM) installed.
Next, clone the repository and navigate to the project root using your favorite command line interface (CLI).
Finally, install the necessary packages using npm install, and then launch the project locally using npm start.
Kiki for the Future uses Jest as a test framework, alongside React Testing Library, as reccomended by the community. Additionally, we use React Test Renderer to create quick and easy snapshot tests used for unit and regression testing React components.
Jest Snapshot tests are used as an easy way to ensure that a UI component has not changed. Snapshots do this by creating a textual representation of the component, saving that to a file, and using that file as a reference the next time the tests are run.
Snapshot files should be commited with the tests that generate them. This will ensure that UI components remain consistent throughout development.
Sometimes changes to the UI component, or the test structure or data, are needed. When this happens, a new snapshot needs to be generated.
To update the project's snapshots, run jest with the --updateSnapshot (or -u) flag:
jest --updateSnapshot
You may recieve an error if you do not have Jest installed globally. The updateSnapshot script
package.json shortcut provides a fix for this:
npm run updateSnapshot
GitHub Actions and Netlify make it easy to deploy a new version of the project. A pull request to
the development branch will run the linter, tests, and build the project. This ensures that the
project is always in a deployable state. A pull request to the main branch will start the Netlify
deployment process and generate a preview page. This makes it easy to review any changes before
making them live! Let's walk through the steps needed to deploy the project.
-
Before we begin, make sure all the changes to be released are on the
developmentbranch. Don't forget to check for any security updates as well! -
To start, create a branch for the release. This should be named
kikiweb-x.x.xwherex.x.xis the version number. On this branch we will:- Increment the version number in
package.json - Test the project and implement any bug fixes.
- Increment the version number in
-
Once the project is tested and ready for release, merge the release branch into the main branch, as well as back into the development branch to capture any changes made during testing.
- Create a pull request from the release branch to the
developmentbranch. This is so you do not need to mergemainintodevelopment. - Create a pull request from the release branch to the
mainbranch. This will trigger the Netlify deployment process and generate a preview page!
- Create a pull request from the release branch to the
-
Review the preview page and make sure everything looks good. Be sure to double check the new features!
-
Once the preview page is approved, merge the pull request to the
mainbranch. This will trigger the Netlify deployment process and deploy the new version of the project. Once the process is complete, you will see your updates live on the Kikiapp website!