Git Product home page Git Product logo

haskamp / flatwater.pro Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 45.53 MB

An app to find your personal instructor to learn kitesurfing - made with React in Next.js and a passion for watersport.

Home Page: http://www.flatwater.pro/

License: MIT License

Shell 0.23% JavaScript 98.46% Gherkin 0.77% TypeScript 0.54%
reactjs nextjs nextauthjs mongodb mongoose zustand reactleaflet cloudinary materialui

flatwater.pro's Introduction

Flatwater.pro

THE PLATFORM APP TO LEARN KITESURFING:

Find your kitesurfing instructor today and train, ride and developed together.

It’s the ultimate tool to help you level up your riding, it’s never been easier to learn kitesurfing and expand your horizons. You can search for instructors, spots and customised lessons all in one app.

Atomic design

We use atomic design. You can read more about our decision in the documentation.

Behavior Driven Development

We use behavior tests. You can read more about our decision in the documentation.

Test Driven Development

We jest to write unit tests. Please look at the Documentation for Jest and testing-library.

Commitlint

We use commitlint to ensure conventional commit messages. You can read more about our decision in the documentation.

flatwater.pro's People

Contributors

haskamp avatar

Stargazers

 avatar

Watchers

 avatar

flatwater.pro's Issues

[feat] Landing Page & Navigation

https://github.com/mui/material-ui/tree/master/docs/data/material/getting-started/templates/checkout
wizzard

Dynamic Routing
https://github.com/vercel/next.js/tree/canary/examples/dynamic-routing/components

site transitions:
https://github.com/vercel/next.js/tree/canary/examples/with-next-page-transitions

UserStory:
As a User,
I want to navigate from a Landing Page through features e.g. form and Card Collection,
so that I have a better UX.

AC:

  • Navigate from home to collection and Onboarding
  • Hero Element
  • Welcoming text
  • Carousel Function/Cards can be scrolled horizontally
  • Wizzard/Funnel registration

Refactor Code

  • Optimise Import of Icons, allway Named import "....icon" form "mui_icon_special"

[feat] Image Uploader

User Story:
As a User,
I want to upload my profile picture,
to have an individual picture.

AC:

  • Image get saved on cloundinary
  • Card Image rendering from cloudinary

Complexity Index: S

[feat] Instructor card collection

User Story:
As a User, I want to see different Instructors, to choose from.

AC:

  • Card Information is stored in zustand
  • Cards are created from Information
  • Collection displays in Chip-layout
  • Collection can change between layouts

Complexity Index: S | S

[chore] Card & Gallery Styling

UserStory:
As a User,
I want a cool Layout,
so that I like to browse for Instructors.

AC:

  • Typography setup
  • Add Filter Button
  • Arrangement of Elements on Card (Overlay Image, Add Icons instead of Text (language, day, services)
  • Improve Carousel
  • Gallery Grid Responsive Design
  • Gallery Toogle-Card-View

[feat] Instructor register/onboarding

User Story:
As a Instructor-User, I want to set and save my infos and skills, to be seen by other users.

AC:

  • Form Input element exists with needed information for card
  • Submitted Information is saved locally with zustand
  • User gets a confirmation of upload
  • Card can be rendered out of stored information

Complexity Index: M | L

[feat] Save form entries on MongoDB

As a Developer,
I want to save Form Entries on MongoDB,
so that I have an accessible permanent storage system.

AC:

  • Post request gets send to MongoDB
  • Form data get send with post request

[feat] Checkin System

UserStory:
As a User,
I want to check in and out of my lessons,
so that I have control about the lenght of the lesson.

  • App need a checkin system up meeting e.g. barcode scan
  • both parties need to agree on end of lessson

[feat] Feedback System

As a Instructor-User,
I want to show which Tricks&Services (e.g. Savety, Surfstyles, BK) I teach,
so Surfers can book more specialised services.

As a Surfer-User,
I want to make a detailed selection of what and how I learn in my lessen and make a list of my skills and wished skills automatically,
to save my data for next bookings and see my progress.

  • Surfer can address Instructor with template
  • Instructor needs list of choosable lesson (checkboxes) what services to offer
  • Surfer needs form with checkbox of lesson content to choose from
  • Instructor list should be filtered after desired services or skills
  • Surfer and Instructor should be able to see edit list of skills and services in profile

Complexity Index: M

[feat] Surfer Profile Registration

As a Surfer User,
I want my data to be stored securely,
to send my necessary Information to the teacher and with no access data.

AC:

  • Information stored by registration, initial booking or on editing wish.
  • Display Information necessary for Instructor: Name, Number, Geschlecht, Alter, Gewicht, Größe, Konfektionsgröße, Verletzungen, Ängste, Beeinträchtigungen, Erfahrung
  • Display optional Information: Surf Equipment (Kites, Neo, etc.), Buchungshistorie, Tricks-wishlist

[feat] Simple Message Service

UserStory:
As a User,
I want to send a message to an Instructor,
so that I can book a lesson.

AC:

  • able to send email to on random email
  • able to send email to selected email

Tasks:

  • Read Nodemailer Tutorial
  • Read Next.js Readme Nodemailer
  • Read Nodemailer + Next.js Article

Complexity Index: M

[feat] Advanced Message Service

UserStory:
As a Instructor-User,
I want to get individualised message from Users,
so that I have all necessary information for the lesson.

AC:

  • form to make necessary information
  • send email to group of instructors / only date-filtered cards

Necessary Infomation:

Complexity Index: M

[feat] Answer /Pending Ticket System

As a Instructor-User,
I want to see all open requests, get notified when a new offer arises and be able to answer it,
so that I can easily find jobs.

  • There is a list with open requests for instructors
  • Instructors get contacted by email when new request get posted
  • Instructor can answer request by seeing contact data
  • Surfer get answer with ticket acceptance
  • Surfer can close ticket upon confirmation

[feat] Surfer registration/onboarding

As a Surfer User,
I want my data to be stored securely,
to send my necessary Information to the teacher and with no access data.

AC:

  • Information stored by registration, initial booking or on editing wish on database
  • Display Information necessary for Instructor: Name, Number, Geschlecht, Alter, Gewicht, Größe, Konfektionsgröße, Verletzungen, Ängste, Beeinträchtigungen, Erfahrung
  • Display optional Information: Surf Equipment (Kites, Neo, etc.), Buchungshistorie, Tricks-wishlist

Complexity Index: M

[feat] Request /Pending Ticket System

As a User,
I want to easily send a request to instructors,
so that I can book as fast as possible.

  • Surfer can send a request
  • Request gets to all Instructors in area
  • Contact Information is registered
    ( - [ ] Locations need a grouping mechanism)
  • Request contains all Information about Surfers requested service

([feat] Trainer Availabilities)

UserStory:
As a Instructor,
I want to define open working slots,
so that Surfers can book according to my schedule.

  • Instructor Card shows open, bookable lessons
  • Instructor can add lessons hours

[feat] Customisable lessons (rework)

As a Instructor-User,
I want to show which Tricks&Services (e.g. Savety, Surfstyles, BK) I teach,
so Surfers can book more specialised services.

As a Surfer-User,
I want to make a detailed selection of what and how I learn in my lessen and make a list of my skills and wished skills automatically,
to save my data for next bookings and see my progress.

  • Surfer can address Instructor with template
  • Instructor needs list of choosable lesson (checkboxes) what services to offer
  • Surfer needs form with checkbox of lesson content to choose from
  • Instructor list should be filtered after desired services or skills
  • Surfer and Instructor should be able to see edit list of skills and services in profile

Complexity Index: M

[feat] Serverside fetching from Mongo DB

UserStory:
As a Developer,
I want to fetch all my data from Mongo DB,
so that I have one ordered, central serversided data storage system.

AC:

  • GET-Request: Render cards out of db
  • POST: Check Card request & delete Zustand

[feat] Page Layout (Header & Navbar)

UserStory:
As a User,
I want to see a header,
so that the UI is better.

AC:

  • Navigation works
  • links toward gallery/home
  • with Login and links towards profile
  • is styled
  • Navbar shows actual page
  • Navbar is styled with MUI theme
  • Dialog is styled
  • Code is refined and commented
  • Navbar works on vercel!

[feat] Establish file systems (JSON, MongoDB)

As a Developer,
I want to be able to save data locally and read data from a server,
so that I can keep data.

AC:

  • Data gets saved in Zustand and as a local JSON file when json server is running
  • MongoDB get connected
  • Able to use Routing for a GET request

[feat] Display Location in Map

UserStory:
As a User,
I want to see where the instructor are,
so that I can decide quickly where to book my lessons.

AC:

  • App shows a map
  • App shows a marker for user and locations (or instructors)

[feat] Filter Location

User Story:
As a User, I want to filter for Locations, to find a Instructor

AC:

  • Filter as FAB opens possible Location select field
  • Only Instructor on Location are shown as result

Complex Index: S | M

[feat] Instructor card

User Story:
As a User, I want to see an instructor, to get information about him.

AC:

  • Card shows an Name, Image, Location, Price, License and Contact Button
  • Extends further information:
    • Language
    • Further locations
    • Motto and Introduction Text
    • Contact Information
    • Services (Pickup, Material, )
    • Availabilities

Follow Up #9

Complexity Index: S | M

Establish first UserLogIn

DeveloperStory:
As a Developer,
I want to have an simple LogIn and Registration,
so that I have a prove of concept for later LogIn Options.

AC:

  • have a working github login
  • save Login data on MongoDB

Complexity Index: S

[feat] Project Setup

Developer Story:
As a Developer,
I want to setup my Developer Environment,
so that I can start developing with all my utilities.

AC:

  • Next.js based
  • all important dev-dependency are included

Complexity Index: S | XS

[feat] Lokale JSON Datei

As a Developer,
I want to have a Data File with all saved entries,
to simulate a database and have information stored somewhere locally.

AC:

  • Data gets saved in Zustand and as a local JSON file when json server is running

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.