Git Product home page Git Product logo

splitshare's Introduction

Summary

SplitShare is an app where users can create and share fitness programs.

Users can log in with a Google account. In the future, standard email+password logins should be supported.

Users can create workouts containing one or more exercises, browse other users' workouts, and save them.

Tech stack: Next.js 13 (React), TypeScript, Tailwind CSS, MongoDB, NextAuth.js.

Currently deployeed at https://splitshare-vbojcev.vercel.app.

splitshare's People

Contributors

vbojcev avatar

Watchers

 avatar

splitshare's Issues

Separate Login Page

Related to #18 , That can't be implemented unless there's a separate page that lets the user choose whether they would like to log in with Google or email. The Sign in button should lead to this page instead of directly to the google sign in page.

Proper error handling

The codebase needs more proper, explicit error handling (throw new error style in try/catch blocks).

Workout Tags

Add tags so that users can quickly see what a workout is about.

Editing Workouts

Currently there's no functionality for editing existing workouts.

Compartmentalization

Need more components. Buttons in particular. Currently I'm copy-pasting button tags which makes me have to copy-paste the classname for tailwind styling. The only reason I do this is because I use both buttons and Next.js Links. I should standardize a button component which is actually just a button that receives one prop, the function. This also means I have to use router.push() instead of links.

Profile page redirects to home upon refresh

If signed in and on the /profile page, reloading will force a redirect to home but not before showing the profile page as intended for a split second. It needs to stay on the profile page.

Create user profile page

Currently /profile only links to the current logged-in user's profile page. There should be a /users/{id} route that displays the outward facing information that anyone can see. On the inward facing page, there could be a button to go to /users/{loggedinuserid} so they can see what their profile looks like to others.

Workout Rep Ranges

It would be nice if there was more freedom in reps. Specifically, being able to specify "to failure" or at least specify a rep range.

Email Login

Currently only Google sign-on is supported. It should at least support email logins.

Aesthetics

Site does not look legit. Needs less ios-app-looking stuff.

  • More angular buttons
  • Smaller borders
  • More basic font
  • Solid dark gray-coloured background for workout cards, the homepage, etc.
  • Mandated dark mode (I am too lazy to support light mode and am morally, spiritually, emotionally opposed to it)
  • Standardize colours and shapes

Site inspos: reddit, github. Basic styling but visually appealing.

Proper HTTP responses

The backend should have proper standardized response codes and messages. For example, sticking to either a text response or a JSON object containing error data.

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.