marioblas / edge-next

EDGE / Dynamic Site on the edge

Home Page:https://edge-next.now.sh/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Edge - A dynamic site that lives on the edge

Edge version 1.0 will be released on June/July 2020, this is a work in progress

Sponsors

Your name or company here? Contact us at hi@nucleo.is

What is Edge?

Edge is a piece of software written on top of Next.js to create a Dynamic API / Dynamic Dashboard and fully functional site to help makers, developers and other creators to deploy a minimum viable product in minutes.

The main features of Edge are:

  • Dynamic content types and permissions, and APIs.
  • Comments on content types
  • Users APIs (login, register, update)
  • Emails (email verification, contact emails) templates and implementation
  • Dynamic admin dashboard for all the content, comments and users.
  • Block users the access to the site
  • CSS themes that the user can change
  • User activity log
  • Login / Register with social providers
  • A set of pre-implemented components
  • PWA (Progressive Web APP)
  • SSG (Static Site Generation) for static pages with markdown
  • Web monetization
  • Easy to deploy

If you want to read about all the features you can check the Documentation or check the Website Demo.

You can login using one of the different social providers, or register a new account.

The data on the demo site may be deleted at any time

How do I use Edge?

This tool is not provided as a package or framework you can add into your existing solutions. It is a solution by itself and it can fit your project for a determined set of use-cases.

To use this tool:

  • 1 Download or clone the repository
  • 2 Do yarn or npm install
  • 3 Do yarn dev to launch your site (as any NextJS application)
  • 4 Edit edge.config.js to add your own texts and content types or permissions
    • You can learn more on how to create new content types, permissions and themes in our tutorials
  • 5 Deploy! We recommend services like Vercel
    • Check how to configure all the different providers in the documentation. You will need to create different set of environment variables and register in the different services like Email and Database.

Issues

Do you have any problem understanding how to use Edge? Something is broken? Any doubt?

  • First: Check if there is any open issue
  • Second: If not, create a new one

Contributing

Did you build anything cool by extending your own Edge version? Send a Pull-Request and if it introduces a generic and configurable solution we will add it to the main repository.

Do you think you can introduce best practices on the repository? Send us a pull request.

Do you think you can improve the performance of the solution? Send us a pull request.

Check our roadmap if you want to add more cool things into Edge.


Roadmap

Version 1

After Version 1: Additional features

  • Move to getStaticProps and getStaticPaths when the RFC is completed vercel/next.js#11552

  • Field options

    • validation (NOT IMPLEMENTED)
      • Optional validarion function in the form of (value) => { return true or false }
    • permissions (NOT IMPLEMENTED)
      • Array, list of roles that can SEE this field when editing the content and when reading it
  • Preprocess uploaded images to create a lighter version and allow the client to load them progresivelly

  • Create an example site running an online shop

    • Create the concept of "shopping cart"
    • Integrate with a payment provider
    • Add a "buyable" option into content types
  • Add site stats

    • Store stats for each page visit
    • Display the stats into the admin dashboard
    • Create stats components
  • Add i18n

    • NextJS is preparing a RFC for i18n we will wait on that
  • Add a sitemap.xml API endpoint.

    • Generate a dynamic sitemap by fetching the database for public content and adding also the static routes.
  • Redux

  • Startup script

    • Preseed database
  • Dockerfile

    • See how to complete a good example

2020 - Original idea of @rafinskipg and @hayderaldeen

About

EDGE / Dynamic Site on the edge

https://edge-next.now.sh/


Languages

Language:JavaScript 97.9%Language:CSS 2.0%Language:Dockerfile 0.1%