Giter VIP home page Giter VIP logo

profile-webpage's Introduction

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying pages/index.tsx. The page auto-updates as you edit the file.

API routes can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in pages/api/hello.ts.

The pages/api directory is mapped to /api/*. Files in this directory are treated as API routes instead of React pages.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

profile-webpage's People

Contributors

schuler-henry avatar dependabot[bot] avatar

Watchers

 avatar

profile-webpage's Issues

Option to add/remove a timer.

Display an option on the profile page to add/remove a new timer (name).

  • Implement DB-Function add
  • Implement DB-Function remove
  • Update UI add
  • Update UI remove

Prevent duplicated usernames

Make sure that all usernames can only be created once.
There is no difference between upper and lower case.
However, the username is saved with upper case letters.

Loading animation for select summary

When clicking on a summary, the loading process is too long -> a loading animation is needed so that the user knows that the file is being loaded.

Update Summaries fetching.

Currently, summaries are stored in the repo (.md).
In order to get more flexible -> outsourcing to supabase bucket or git repo.

  • Ability to add new items without commit/push/redeploy

Update DB with E-Mail

1 account has 1 email (no duplicates).
E-Mail needs confirmation code which is saved as a hashed value (varchar).

Expense Calculator

Der Nutzer soll die Möglichkeit haben, alle Ausgaben innerhalb einer Gruppe einzutragen und anschließend eine Auflistung zu erhalten über die Schuld-Beträge zwischen den Teilnehmern.

Anwendungsfall: Urlaubsabrechnung, Gruppenbestellung, ...

Folgende Funktionen sind zu berücksichtigen:

  • Anlegen einer Gruppe
  • Eintragen der Ausgaben für die jeweiligen Personen
    • Festlegen, für wen die Ausgaben getätigt werden
    • Optional: Festlegen des Auslegungsverhältnisses falls nicht gleichmäßig
  • Errechnen einer "optimalen" Überweisungs-strategie mit möglichst wenig Transaktionen
  • Markieren der Berechnungen als Final
  • Als erledigt markieren für einzelne Personen im Zustand Final

Mobile navigation bar hover effect

The navigation hover effect in mobile view (side menu) must be removed.
-> when collapsing sub-menu, the header is padded and colored.

Visual improvement only!

Lock sport event on edit

When someone is editing a sport event lock it.
Make sure that it is released once editing is over / time has passed.

Sort Projects by last edit date.

Projekte (GitHub) werden aktuell in einer (random) komischen Reihenfolge angezeigt.
Ziel ist, die Projekte nach letztem Bearbeitungsdatum zu sortieren -> aktuelle Projekte erscheinen als erstes.

Improve security for saved passwords

User passwords are saved as hash values.
If two users use the same password, they will both have the same hash in the DB.
In order to prevent that, the password string needs to be concatenated with the unique user ID from the DB + a divider symbol that is not allowed by the string password (otherwise you could trick the system by starting your password with a number, then you'd only need to know the user ID.

-> userID + delimiter + password

Create main-section "apps"

Create a section called apps.
It will contain mini-features like the timer function as a subpage.
Mock-Up is analog to Projects/Summaries -> a grid view with a large icon in the center and the app name below.

Admin-Option for User creation

  • Option for Admins to create new accounts (username, name, activationcode).
  • The activation code will be displayed after the creation.
  • Admins can view the activation codes of all admin-created users (not others due to security issues).
    • User has no password + User has no e-mail

Login/Register on Mobile

On mobile devices, the login/register css is missing.
All fields are too small and cannot be accessed correctly.

White spaces login/register

Autocomplete on mobile ends with a whitespace -> TODO: remove all whitespaces (since they are not allowed anyways) before checking username

Initial project workload timer.

One/multiple timers on the private user page that can be started/paused.
-> Resume the timer when starting development for the day.
-> Stop the timer when ending development for the day.
At the End of the Project, the total work-Time can be viewed.

GitHub API authorization

Check if GitHub API returns the correct values.
When the API is called too often from one IP, the request is denied -> /studies/projects throws errors.

User authentication tests

Maybe authentication via getStaticProps will not cause page to be rendered without login until login is verified (options in header are hidden while changing pages)
-> Test this theory

Reset timer

Button to reset timer value (confirm required ie. alert).
Button can use UpdateTimer functionality.

Create profile mock-up

The profile page contains the following parts:

  • account information (change username, name, E-Mail, ...)
  • change password

About Me

An about me page where users can get to know me.
Information:

  • Introduction about me
  • Image
  • CV (short)
  • Hobbies
  • Active projects
  • Gear (Laptop, etc.)

Mobile menu improvement

Margin/Padding right smaller -> elements get wider while the menu stays the same size. (arrows move to the right)
The indent for subelements has to be doubled.

Activate Account by username + activation code.

Users need to be created in order to use the sports event app.
Therefore users will be created with username, Name, and ActivationCode.
Steps for registration:

  • Add missing information (new/update "/register" page)
    • password
    • e-mail
  • Activate the account via the received E-Mail

Create Sport Club (Admin) Panel

Create Admin Panel in Profile menu where trainers/admins can manage sport club members.
Option to:

  • approve/decline
  • delete/remove

Create SportEvent page as new App

Create a new app page called SportEvents where all existing sports events are listed.
This page will get more features later on, first, we'll focus on displaying the sports events.

Tank-App

Der Nutzer soll die Möglichkeit haben, seine Tankdaten mit der App zu tracken.

  • Dabei werden folgende Daten erfasst:
    • Tankstelle (Name + Ort)
    • Kraftstoff
    • Preis/Liter
    • Gefahrene Kilometer
    • Getankte Liter
    • Gezahlter Betrag
  • Es werden folgende Auswertungen angeboten
    • Verbrauch seit letztem Tanken
    • Jahressummen für Liter, Gezahlter Betrag, Kilometer, (Durchschnittspreis)

Optionale Features:

  • Möglichkeit mehrere Fahrzeuge anzulegen und diese individuell zu verwalten
  • Möglichkeit die Daten eines Fahrzeugs mit anderen Nutzern zu teilen (read/write)

Discard current timer

If a user forgets to stop the timer, there needs to be an option to reset the running timer without adding it to the total time.
The discard operation has to be confirmed (i.e. alert).

PDF selector on /file

When the file cannot be loaded, a dropdown shall be provided, where all available files can be selected.

SportEvent item size

The item size of the sports events on the sportEvent page is too small.
Not everything is displayed when the selected names are too long.
(On Desktop: Too many elements in one row)

DSGVO

A dsgvo needs to be provided because, with the login/sports event app, personal data is stored and displayed.

Manual add/remove time

Element to add or remove seconds/minutes/hours to/from the timer.
-> If user forgets to start/stop the timer when starting/ending a work period.

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.