Milestone 1

due at midnight on   +150

Prerequisite: Follow the software setup instructions. (All of the following should be done within a folder of your git working directory, so you can push it to gitlab by the deadline.)

For this milestone, your goal is to get a basic React Native app working, with its source uploaded to gitlab. Here are the specific requirements.

  • The app should include a basic View container with some Text elements in it. It should also include an Image element.

  • You should use at least one custom element, such as Greeting or BlinkText in my demo, but it could be something different.

  • Your app should include a TextInput and a Button element. It should react in some way to the button being pressed. For example, it could increment a counter, or toggle the background color.

  • In addition to working in an Expo environment, the tests should pass when you run either npm test (for interactive testing), or node node_modules/jest/bin/jest.js (for batch testing).

  • You should make sure there is a .gitignore file in the top-level of your working directory, and/or in the project subdirectory. (The create-react-native-app probably created a suitable one for you.) In particular, the node_modules directory should absolutely not be part of your commit.

  • You should include a .gitlab-ci.yml in the top-level of your working directory, and make sure that the gitlab continuous integration system can build and test your app. Here is the gitlab-ci configuration from my demo app. The only changes you should make are to replace the demo directory name with your own subdirectory (in the test/script section, and in the cache/paths). You can see the results of the continuous integration in your commits list. Click the green checkmark (or red X) and then the test entry to see a full transcript.