Skip to content

Alexander-42/FSORN

Repository files navigation

Rate github repositories application

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.

How to install locally

Prerequisites

Node version 20.19.5 You may download node with instructions from https://nodejs.org/en/download

Local application frontend installation instructions:

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.

Local installation of the backend

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.

Current functionality

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.

TODOS

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

About

Solutions to exercises in the Full Stack Open React Native module

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors