Git Product home page Git Product logo

next-zoup's Introduction

next-zoup

Toying around with the zoup spec to see where that may lead.

The idea is the following:

I want to use Next.js and Typescript to build an implementation of the given spec.md to get some insight into how that spec behaves and to get a rough idea of the work required to get it running.

The first prototype shall keep all state in local files in the hope that this will aid development and setup and be an ok starting point. It should always be possible to add more complexity and dependencies later.

setup and scripts

This project uses node and yarn. If you've got node installed on your machine chances are you're good to go.

Execute yarn install to locally install the node dependencies into the node_modules directory. Afterwards execute yarn dev to run a development server at localhost:3000.

For production the project is first built using yarn build and afterwards executed with yarn start.

The linter is executed with yarn lint.

environment variables

Some configuration is done via environment variables. In addition to the environment these can be set via a .env.local file. The checked in file .env.example contains example values and lists all used environment variables.

user handling

For the prototype user handling is currently realized as follows:

User data is stored in data/users/<username>.json. We save at least a name and a salted bcrypt hash of a password. User login is based on this password and there is currently no way to support users in resetting their passwords.

User registration depends on invite keys. An initial invite key needs to be configured via the INITIAL_INVITE_KEY environment variable. It is intended that users can create further invite keys. The idea behind this is to support some organic tradeoff between (somewhat unlikely) but possible growth and enabling users to self-register. As there are currently no means to support any kind of moderation it seemed helpful to have some mechanism like this for people sharing a prototypical server.

todo

  • User handling
    • Login
    • Registration
    • Logout
    • Deletes
      • Memo to remember deleting a users data/posts and what that will imply
    • localStorage for sessionData
    • Invites
  • Repost
  • Copying/proxying of assets?
  • React
  • Pings, vias/โ€ฆ for posts
  • Friends & Following

next-zoup's People

Contributors

runjak avatar

Stargazers

 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.