Giter VIP home page Giter VIP logo

team-timbits's Introduction

Project Name

This is a little description about your project.

Tech Stack: MongoDB, Express.js, React.js, Node.js, Typescript

Contributors: Hatchways (replace)


Getting Started

  1. Clone or download repository

Server

  1. Go into the server directory cd server
  2. Run npm install to install packages
  3. Create your environment variable (.env) file
  4. Run npm run dev to start the server

Client

  1. Go into the client directory cd client
  2. Run npm install to install packages
  3. Run npm start to start the client side

Demo

  1. Registration. Users will be able to create a new account using their email and password

Signup Demo

  1. Dashboard. Here is a description about what a user can expect to see

Dashboard

team-timbits's People

Contributors

dapierrot21 avatar mefaba avatar hamaad102 avatar bonnieli avatar moffatethan avatar

Watchers

James Cloos avatar  avatar  avatar  avatar

team-timbits's Issues

FE: Confirm Appointment

Blocked: #19

When time is selected, confirm time and schedule (create appointment BE) 
- Not in mocks, create a dialog for confirmation

- Email
- Name
- Confirm button

IN: New Event

Also, style and display the event types in the dashboard. Replace the skeleton with the event types.

FE: Scheduler Calendar UI

Frontend

- Block off unavailable days
- Preselect the next day 
- Block off time that is unavailable for the user (appointment time slots blocked off state) 
- When time is selected, confirm time and schedule (create appointment BE)

BE: Appointment Model

Create Appointment Model

Appointment

- meeting_id
- name 
- email 
- time (datetime) 
- timezone

BE: Event Type Model

Create Model for Meeting

Meeting
- user_id
- duration (15, 30, 45) -> these are in minutes

FE: Upgrade page

Upgrade your account

Ignore some information from the mocks. Instead have two blocks:
1. FREE STANDARD (this is by default) no need for payment
2. PREMIUM ACCOUNT (payment) -> leads to Stripe checkout page

BE: Appointment Controllers

* CREATE /appointment -> Create an appointment
* meeting_id, name, email, time (datetime), timezone
* GET /appointments -> list of appointments for logged in user

FE: Dashboard Skeleton

  • Adapt the current project skeleton to match project mockups
  • The project skeleton will have the general frontend structure of the project, but without the specific components filled out
  • If there is a navbar in the mockups, the skeleton should include the navbar + content pages for the app for a logged in user experience
  • The navbar should be persistent across the whole logged in user experience and include a placeholder image for the user
  • Dropdown for profile in navbar should show two links:
    • logout (already implemented on the backend)
    • go to profile

FE: Signup / Login Pages

  • Edit the Login and Sign up pages to match your mock up
  • Ignore Forget password (we don't need that right now)
  • The page is currently responsive, but make sure it works with your mockups

BE: Availability Controllers GET /availability

Create a route that:
- Loads availability for given day (GET /availability?day=2342343243)
- Returns a list of available slots

Google Calendar API
- /freeBusy timeMin, timeMax 

Each date you select, it’ll load the appointment slots available

[
{start_time: 2323234, end_time: 234234},
{start_time: 2323234, end_time: 234234},
{start_time: 2323234, end_time: 234234},
...
]

FE/IN: Signup / Login Pages

* create two front-end react routers (login and signup)
* There is no landing page - redirect to signup

Blocked by: #8

IN: Onboarding

After the onboarding routes for the backend and onboarding frontend is done, integrate

Blocked by #18

BE: User Controllers

- GET /user/:username -> If this username already exists (onboarding)

- UPDATE /user/:id -> updates user information

FE: Onboarding Pages

There are 3 pages to onboarding

/profile_settings -> unique url and timezone
* check for uniqueness to continue
* storing timezone in UTC
/confirm -> confirmation of successful connect
/availability -> setting availability hours and days

BE: Setup Mongo for project

  • Set up the selected database for the project. The goal for this ticket is that the authentication features included in the starting code will be functional by storing user information in the database.

  • use Mongoose

Bonus FS: Paginate

Look for any suitable areas where we might be fetching many things and implement pagination

FE: Demo User

  • Create a "demo user" functionality that will be used later to allow recruiters and managers to easily test the app's features without having to sign up
  • Add a button to allow for signing in as a demo user
  • This is effectively a login button with a hardcoded username and password
  • Show button both on signup and login pages
  • In production you should manually create a user and some test data that would best show off your project. Do this in development right now to test this feature

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.