Giter Club home page Giter Club logo

latias-proj's Introduction

Hi there ๐Ÿ‘‹

My name is Sebastian and I am a developer currently situated in Uppsala, Sweden, as I am currently studying a MSc in Information Technology with a specilization in Data Science at Uppsala University ๐Ÿซ

Experience ๐Ÿš€

  • ๐Ÿ“– I have recently finished my Bachelors Thesis, which was a collaboration with Uppsala Municipality
    • Check out the website developed here!
  • โ–ถ๏ธ I enjoy most thing .NET and it's the language I've used the most but I enjoy picking up stuff at random!

Contact ๐Ÿ“ž

LinkedIn

Email

latias-proj's People

Contributors

agupta375 avatar jakobpaulsson avatar kimiyaata avatar niclasgards avatar niclasgardsuu avatar richardg99 avatar sgronlund avatar skrotsamlarn avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

kimiyaata

latias-proj's Issues

Cannot launch app with expo go

Currently we have dependencies which makes the app fail upon compilation when trying to launch with expo-go. The dependencies which makes it fail are the aes256 and possibly sha256 and the primary problem is these are vital for our system.

Need to fix asap

EDIT: sha256 works on mobile

Dynamic IP-address lookup of host machine

At the moment it is required to specify your local machines IP-address both in the client and the server. This should preferably be done dynamically to not have hardcoded in any of the nodes.

The npm package ip seems promising however it doesn't seem to work when launching the app with Expo Go on Android, any other similar packages which do a lookup of the host would also work but a requirement is that the chosen package works natively on any platform.

Require connection to start key exchange

At the moment, the client automatically tries to start the key exchange with the server. This is not a problem if the server is running but if the server is not running, then the client will send the message nowhere. If the server is then started, and the client tries to log in or register, a key exchange will not have happened and the server will crash. To fix this, we should check that the client has connected before starting the key exchange.

Should we use gesture handler?

The package "react-native-gesture-handler" is currently being used in the branch ArticleQuiz. The documentation says that this package has better implementations for buttons (compared to "react-native" package) because they are directly translated to Android and iOS native code.

The problem is that it's not at all functional in the browser (Google Chrome atleast) and completely removes the ability to test the application in the browser. The questions is wether we should use it right now or implement it at a later stage (when we don't need to test the application as much)?

Symmetric encryption for authentication

We want to make use of the diffie hellman key exchange by applying a symmetric encyption algorithm to the information emitted to the server when authenticating for logging in or signing up.

Should we test internal functionality of classes?

The reason for removing the front-end tests was that they didn't actually test anything useful. Problem now is a thing like #61 could pass without anyone noticing (class method was broken). Maybe one thing that could be worth testing would be the internal methods of classes?

Rework timer to be client side only

There are ways to schedule events based on time, one example of this is the library cron. This would eliminate the need to continously emit messages from the server to all the clients.

News Quiz scoreboard location

At the moment, we would need to put the scoreboard on the GameScreen screen. We should display a screen between GameScreen and NewsQ so that we display the scoreboard there, and have a button that starts the quiz.

Implement functionality for changing password

How should this be implemented? One way would be to simply send the user to the updatePassword screen. We may want to go through the same process as when pressing on "forgot password?" at the login screen. In this case, we want to send the user to the Reset.js screen.

Get current week number

If we can get the current week number on client-side, we can automate the question and answer fetching. When a client would open the screen with the questions, they could simply emit a request to the server to fetch all questions with the given week number.

We can also do this on the backend, then the user would only need to emit that they want the questions and the backend would then lookup which week is it and return the appropriate questions.

Implement User Policy screen

From the settings screen, the user should be able to navigate to the User Policy page. How should this page look? Or should it just be a popup like the question button?

Rework component structure for future

At the moment we are only using class component for all parts of the frontend. A discussion that could be had is to wether we should change from class components to functional components or keep the current implementation that we have.

An example of functional vs class could be this:

function funcComponent() {
     return <Text> Test </Text>;
}

class classComponent extends React.component {
       render() {
           return <Text> Test </Text>;
       }
}

I am bringing this up since when starting the application on Mobile we get this message:
image

And a solution seems to be to change to functional components

News Quiz clicking on multiple answers

When you answer a question in the news quiz, and while the timer is stopped and you are waiting for the next question to appear, you are able to press another answer. This will make you skip the next question.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.