Skip to content
This repository has been archived by the owner on Dec 13, 2023. It is now read-only.
/ xataform Public archive

Create, share and analyse your forms with Xata. Open Source alternative to Typeform.

License

Notifications You must be signed in to change notification settings

xataio/xataform

Repository files navigation

⚠️ Xataform is deprecated and shuts down on December 13, 2023 ⚠️

Due to the use of object columns in the schema, which will no longer be available after December 13 2023, Xataform stops working and will not be maintained by Xata. If you are using the object column type, please make sure to migrate away before the end date following the migration guide.


XataForm logo

Create, share and analyse your forms

Github Checks MIT License Discord

Open Source alternative to Typeform

You can read more about the project and its motivation in our blog post.

If you prefer a guided tour, here is a loom.

To create new forms, you can use our instance at: https://xataform.com/

Or deploy your own following the instructions below.

Prerequisite

In order to run the project, you will need two accounts (free):

You will also need to have Node 18 installed, and pnpm is a nice to have.

Getting started

  1. Install the dependencies: pnpm install

  2. Initialize your database: pnpm xata:init

  3. Add Clerk keys in .env.local: https://clerk.com/docs/nextjs/set-environment-keys

  4. At this stage, you should have 3 values in your .env.local

    # Xata
    XATA_API_KEY=xau_…
    
    # Clerk
    NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_…
    CLERK_SECRET_KEY=sk_…

    If not, please check that you picked nextjs in clerk.

  5. Start the dev server: pnpm dev

Architecture

This application is built on top of Xata, Next.js, tRPC and Clerk.

Server side

Everything is defined in /server:

  • /server/services: you can find any external service. This is a simple dependency injection pattern to allow easy stubbing in our unit tests. Therefore, you don’t need any network needs to run the test and every tests will stay fast.

  • /server/routers: All business is there, divide per module.

Pages

A classic Next.js application pattern, every file is a page.

About

Create, share and analyse your forms with Xata. Open Source alternative to Typeform.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published