/fresh-spots

A Deno Fresh Full Stack App for sharing lists of places to visit

Primary LanguageTypeScriptMIT LicenseMIT

Fresh Spots

  • Users can create and share lists of places to visit

  • Features

    • A user can sign up with social auth / login / logout
    • A user can CRUD lists
    • A user can add a specific Point of Interest (POI) to the list
    • A user can add a comment / more info to a given POI
    • A user can share this list with anyone
  • Backend Framework

  • Database Access

  • OAuth 2

The code is in the app directory. See the README there for setup directions.


TODO

  • Day 1
    • Upgrade Deno
    • Generate Fresh Project
    • Familiarize myself with Fresh
    • Linter?
    • Setup the database
      • Docker Postgres
    • Create a users table
    • At least 1 route that returns data from DB
  • Day 2
  • Day 3 - (August 5th 2022)
    • Config schema validation
    • Define our Models...
      • User
      • Social Profile
      • Spot List
      • Spot
    • Allow users to login and logout
      • Login
        • If we have not seen a user before, insert
        • If we have seen a user before, update
        • Issue a cookie
    • Show a map on the home page
      • with hacks
  • Day 4 - August 12th
    • Setup Kysely Connection
    • Setup DB Models with Kysely
    • Setup DB migrations... with Kysely
  • Day 5 - August 19th
    • Replace DenoAuth with DenoGrant
    • Get a Proper map on the page
    • Login
      • Upsert user into db
      • Issue a Cookie
        • Make sure cookie is signed
    • Design Flows and Layout
  • Day 6 - August 26th
    • Work on TODOS
  • Day 7 - September 2nd
    • Login
      • Setup cookie session
    • Navbar
      • User State
  • Day 8 - September 9th
    • Update fresh
    • Fix login drop down on Chrome
    • "Private / Logged In" Profile Page
      • Show map on homepage
    • Spot List Create Page
      • Initial page
  • Day 9 - September 16th
    • Review/Merge PRs
    • Map Theme
    • Auto Page Titles
    • Map background style
    • UI Library Setup
      • Bootswatch
    • Spot List Create Page
  • Day 10 - TBD
    • Spot List Create Page
      • Center Map on users location
      • Places Search / API
    • Spot List Page
    • Use signals for user data
    • Finish creating deps.ts
    • Make a plan to finish / get to v1

Stretch Features

  • Onboarding
    • Set default starting location
  • IP geolocation - IN APP
  • Comments on lists
  • Favoriting / staring lists
  • Posting pictures of food / events at the spots
  • Lists can have a header / background image
  • User profile that shows all the lists they've created
  • Lists can be upvoted

AI Images