This expo application made using react-native has been developed for passing the react native module for the University of Helsinki Full Stack open course.
This application allows users to review repositories.
Node version 20.19.5 You may download node with instructions from https://nodejs.org/en/download
Clone this project and run npm install in the project directory.
Then running npm start will produce a QR-code along with some text.
The application will not work as intended yet as the backend for the application has not been configured.
The line that we are interested in currently is:
Metro waiting on exp://xxx.xxx.x.xx:8081 (here x's indicate digits)
Create a .env file at the root of the project folder and copy the contents of the .env.template into it.
Grab the generated ip-address (the bit denoted by xxx.xxx.x.xx) and replace <your expo ip adress> in the .env file.
Stop the server that was started by npm start.
Follow the instructions for the local installation of the backend from rate-repository-api
The backend has noot been implemented by me at all. It has been developed by the people behind the FullStack Open course. All credit goes to them.
Once the backend has been configured run it using npm start.
Then start the frontend with npx expo start --clear to clear the metro bundler cache and to make sure that the environment variables are correctly loaded.
Most of the application works quite well in the web environment, but for the best experience use the Expo GO app.
For users that are not signed in there are options for viewing all repositories that have been reviewed and that are added to the backend's database.
The view for all Repositories in the database
There is also an for sorting the repositories by the date that the repository has been created and by the average rating.
The sorting functionality
By pressing a repository in the repositories view, the reviews for the repository are opened.
A single repository
There is an option for signing in and for signing up
The sign in form
The sign up form
For users that are signed in, all of the above work and there are features for viewing, creating and deleting their own reviews.
Creating a review works for any public github repository.
Review creationg form
View for a single user's reviews
It is possible to also sign out.
This application could still use some further polishing. Here are some TODOs that can be implemented:
- Searching the reviewed repositories
- User information view
- Adding error messages for failed backend calls (such as incorrect login information)
- The SignUp form onSubmit function is a bit ugly and could be refactored for readability
- Unit testing for most components
- End to end testing






