Git Product home page Git Product logo

coronhackathon's Introduction

Some of my open-source projects

Start Date (MM/YYYY) Name Type Description Tech Stack Team Size Grade ( / 6 )
06/2021 SenPy Personnal Productivity tool that let's you track your Python scripts' execution from your smartphone and receive notifications. Python - Django - React Native 4 -
05/2022 Journey Planner Academic Robust and efficient Public Transport journey planning in Switerland. Spark - Pandas - HDFS 4 6
06/2022 MongoDB Atlas Operator Work (Summer Internship) Added features to the MongoDB Atlas Kubernetes Operator Go - Kubernetes - -
11/2020 Satellite Images Segmentation Academic Course project for Machine Learning course at EPFL. Finding roads on Google Maps images Python - Pandas - TensorFlow Keras 3 5.5
04/2020 CoronHackathon Personnal Social Mobile App created in a 72 hours Hackathon, for home-entertainment during lockdown. Spring Boot (Java) - React-Native 8 -
02/2018 GameboJ Academic Nintendo Gameboy emulator in Java Java - JavaFX 2 6

coronhackathon's People

Contributors

arobaselisa avatar berangerecolbois avatar evalvn avatar hugolepeytre avatar julien-ben avatar julienvig avatar magantoine avatar mathiponds avatar pauljuillard avatar

Watchers

 avatar

coronhackathon's Issues

Store images in base64 strings in the database

Put images encoded in the database
use a single transfer scheme for images

  • Use base64 string encoding to send images to front (change MiscController)
  • Move current content to database in encoded format

Implements the friend system

Implement the friend system in backend

  • Create a Friend Entity with variables friend1, friend2, completed
  • Do the API for the frontend

Using a color palette for the main app theme

  • figuring out how to import css
  • giving up
  • trying to do it with the react syntax
  • it works
  • replacing hardcoded colors in chalengescreen, category screen and challenge details screen

Swipe down to refresh

Current problematic: once a screen is mounted it is not refreshed when a change has been made (e.g. a new validated challenge should be displayed in the profile). The current fix is to go back to the login screen to login once again.

A good feature would be to refresh the current screen by swiping down.

Fix ProfileScreen

  • Do not display category without any completed challenge
  • Currently only 6 categories are checked over the 9
  • Increase size and font of the badges and badge description

Challenge List page

Challenge Screen + Challenge by Category

  • Create page from previous pages

  • selon le statut (validé ou non, dans le JSON), afficher le challenge grisé/avec une icône/ne pas l’afficher du tout

Display the screen title in the navigation header

Use the currently white header added by the bottomTabNavigator in orger to display the current title with the adequate style and remove the hand-made header.

  • Covid19
  • Catégories
  • ChallengesByCategory
  • ValidationChallenge
  • Challenges
  • Profil
  • Details
  • Disable "swipe back to login" abort mission flemme de plus chercher

Redesign the badge system

  • Rethink and redesign the badge system

  • discuss it in a meeting and get it accepted

  • modify the profile screen accordingly (or open new issues to this end)

Register Screen

  • Bouton d'accès depuis loginscreen et un autre de retour
  • 3 text-input: pseudo, mdp, vérification mdp
  • Feedback si mdp et vérification correspondent pas
  • Post le register
  • Feedback si le pseudo existe déjà (après le post)
  • min/max taille de pseudo

Le code actuel est sur la branche register
Update: Le post trigger une 500 internal error à gérer côté backend

Setting up Continuous Integration and Deployment

Setup continuous integration of the backend server and database with Jenkins

  • push on master updates travis build
  • live server is accessible from a stable IP adress
  • travis automatically update the cloud server with the new jar

Improve profile screen

  • clean the code
  • make the style consistent with the other screens
  • use the category's icon as badges
  • make everything appear faster (we show the information once we requested all so that we don't let an entire HTTP request between two events on the screen)

Validation bug on Android

  • Check icon props size makes android app crash
  • Error while on the server side while processing android image base64
  • Image didn't seem to be stored after validation on android On android, the Expo app caches the challenge image and doesn't update it when a user posts a new image. Temporary fix: empty expo app cache. Relevant Facebook issue.
    Final fix: Add uniqueness to the file name by including a timestamp. A new image is created (instead of replacing the previous one) and the previous image is deleted.

Repare register

  • Put the right mapping back for /register ie without "hashPwd" and "hashPwd2"
  • Once the account is created, the user is not logged in, call /login
  • Some bug with maxLength of the text-input
  • Check the maximum length before posting the register

Display username next to comment

  • Back : Send the username of the comment's author with the comment as part of the request

  • Front: Display the pseudo above the comments

Ideally add a link to user profile (Front)

Template style navigation tabs

Create a design template for the tabs with:

  • Use of icons instead of images
  • Colored icons for active tab while inactive are greyed out
  • Labels, possibly colored
  • Animation on event onPress (looks too much time consuming)

Requests for friend system

Create network requests controller for friend system

  • send a friend request (! error messages: no such username etc, already friends etc.)
  • accept a friend request
  • list of friends of User ordered with timestamp
  • public profile of User1 if friends with User2

Create Friends tab

  • Create a new tab (currently instead of Details) with a nice tab icon
  • Send friend requests
  • Accept/decline requests
  • List current friends
  • Access friends' profile
  • Sort list by number of challenge achieved ?

Current version in branch friends

Finish to replace hardcoded colors with colors from the palet

For the moment, do it only for the screens with a similar theme (eg 'ChallengeScreen', 'ChallengesByCategory' ...) before the complete design remake.

  • ChallengeList component
  • Separators in 'ChallengeDetailScreen' (a separator color is defined in the material palette)
  • ChallengesByCategoryScreen
  • Maybe others

Create admin page to approve comments on completed challenge

Create a page that is only accessible as an admin where we can approve comments and maybe pictures when the user approve his/her challenges.

  • Add a boolean approved to HasCompleted
  • Add a request /admin/notApprovedCompleted that returns all the HasCompleted that are still not approved
  • Add a request /admin/approveCompleted that approve the HasComplete
  • Add a request /admin/refuseCompleted that refuse the HasComplete
  • Make the requests /admin/** only accessible by the ADMIN
  • Change the DB to set the approved parameter to trueor false (but not NULL)
  • Make a page in frontend that request all the non approved HasComplete and make it possible to approve or refuse them

Bug during validation

500
Internal Server Error
Last unit does not have enough valid bits

Setup: on a challenge already validated (including comment and image), modify the comment but not the image and then validate. It looks like validating a previously posted image triggers this error.

Edit: the line 114 of CompletedService in method addCompletedChallenge triggers the exception. This is because the second time we are posting the image path and not the base64 value. Solution: overload the method with another using only the imgPath ?

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.