GithubHelp home page GithubHelp logo

troyciesco / draceton Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 382 KB

Note-taking app with a Dracula theme!

Home Page: https://draceton.vercel.app

JavaScript 1.70% TypeScript 97.48% SCSS 0.79% Shell 0.03%

draceton's Introduction

Draceton ๐Ÿง›

Note-taking so good, it's scary

website: https://draceton.vercel.app/ loom walkthrough: https://www.loom.com/share/e023539c4e854458814fa9558e1f1265

Draceton is a simple demo of a full-stack note-taking application with a little bit of a Dracula theme.

IMPORTANT: Authentication is faked to make testing a bunch of accounts easier. Because of this, you shouldn't save anything real to the database, and there might be a little jumpiness when logging in and logging out since it doesn't have to make a network request.

Features

  • Users can create, edit, and delete notes. They can also change the text and background colors of the notes.
  • Users can search the content of the notes.
  • Notes must be between 20 and 300 characters.
  • There are two demo "accounts" based on characters from Dracula.
    • Jonathan Harker has a bunch of notes that have been generated from the first chapter of Dracula (found at Project Gutenberg). The notes are random lengths, which is why it cuts off mid-sentence sometimes - it was just an on-brand way to create a bunch of notes at once. If I come back to this app later, I'll use it to add pagination.
    • Lucy Westerna has a handful of notes generated by ChatGPT from the prompt "write ten examples of marketing copy for a note-taking app with a dracula theme." I thought they were pretty clever, so I included them!
  • The frontend uses Next.js, TypeScript, Tailwind, SWR, and graphql-request. It's deployed on Vercel.
    • I also make a reusable button style with SCSS for demostration purposes.
  • The backend uses Nest.js, GraphQL, TypeScript, and a SQLite database. I deployed it on Railway. Normally I'd set up a Postgres database, but I decided to keep it simple for this iteration.
  • Since the site is Dracula-themed (and it's all the rage nowadays), there's also dark mode ๐ŸŒ

Running the frontend

  1. cd client
  2. copy .env.example to .env and update the values (right now, it's just public URLs, so it's fine to just copy)
  3. yarn install
  4. yarn dev, and it should run on port 3000.

Running the backend

  1. cd client
  2. copy .env.example to .env and update the values (right now, it's just public URLs, so it's fine to just copy)
  3. yarn install
  4. yarn dev, and it should run on port 3000.

Since there's currently an SQLite db, you should already have the starter data. In a real app I'd have a more proper migration etc. flow, but this is what I usually do to reset:

  1. delete server/prisma/migrations
  2. delete server/prisma/dev.db and, if it exists, server/prisma/dev.db.journal
  3. run npx prisma migrate dev --name init. This should initialize and seed the database using server/prisma/seed.ts
  4. restart the server

draceton's People

Contributors

troyciesco avatar

Watchers

 avatar

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.