Tskr is a 0 to Low cost solution to track records and make automation accessible to everyone.
Everything RedwoodJS has. Everything Prisma gives as well.
- Authentication
- Users, Groups, and Group Roles
- Rules that are similiar to Prisma Middleware, except we have access to raise messages to the user.
- Accessiblity conscience
- Internationalization conscience
- Custom Generators to speed up development
- RedwoodJS Generators - Generators allow you to spin up most things quickly without having to recreate them from scratch
- RedwoodJS Cells - React components with State included
- RedwoodJS Role Based Access Controls
- RedwoodJS Component Driven Development via Storybook
- RedwoodJS Testing
- RedwoodJS Deploy Targets - With RedwoodJS, you can deploy to your choice of hosts including self-hosted
- Prisma Studio - A simple viewer/editor for tables on your database
- Prisma Database Connections - With Prisma you can connect to most types of databases
- Prisma Middleware - A way to modify data before it's written
- Prisma Aggregation, Grouping, and Summarizing
- Prisma Database polyfills
- Prisma Raw database access
Users are only given access to create, read, update and delete records via roles. Roles are only given to a user from their groups.
- Custom Generators that set up rules
- Better looking UI
- Internationalization set up with a simple key value messages file
Contributions are always welcome!
We follow the Github Flow, we're still new to this so bear with us.
We review Pull Requests on Mondays and Wednesdays.
If you would like to work on an issue comment on it.
-
Fork the Repository.
-
Goto your fork.
-
Configure a PostgresDB
This is a bit more involved but you'll need a database somewhere either on your machine or hosted somewhere. I generally set up a https://railway.app postgressql database
- Provision a PostgreSQL project.
- Click on PostgreSQL, then Connect.
- Copy the Postgres Connection URL
-
Set up your environment variables in gitpod.
Name Scope Value DATABASE_URL yourName/tskr Connection String from above SESSION_SECRET yourName/tskr Well set this later -
When the terminal comes do the following.
-
Push your schema to your database via
yarn rw prisma migrate dev
. -
Generate a new secret via
yarn rw g secret
. -
Copy that string and set it in the varables for gitpod.
-
Stop your workspace via the menu. Then relaunch it.
-
Fork the Repository.
-
Clone your fork
git clone https://github.com/tskrio/tskr.git tskr
-
Go to the project directory
cd tskr
-
Install dependencies
yarn i
-
Configure a PostgresDB
This is a bit more involved but you'll need a database somewhere either on your machine or hosted somewhere. I generally set up a https://railway.app postgressql database
- Provision a PostgreSQL project.
- Click on PostgreSQL, then Connect.
- Copy the Postgres Connection URL
-
Configure Environment Variables
Modify the ./.env file to have a
DATABASE_URL
andSESSION_SECRET
. Paste in your connection string and add the following to the end.?connection_limit=1
It should look like so.
DATABASE_URL=postgres://<user>:<pass>@<url>/<db>?connection_limit=1 SESSION_SECRET=replaceme
-
Push SQL to your database
yarn rw prisma migrate dev
-
Generate a new secret
yarn rw g secret
Update your
./.env
file's SESSION_SECRET -
Start the server
yarn rw dev
-
Seed the database
#not yet written
Alt. intstructions
- Start your server
yarn rw dev
- Open the browser and go to http://localhost:8910/
- Signup
- Open Prisma Studio
yarn rw prisma studio
- Identify your user's ID
- Create a Group (note the ID)
- Create a GroupMember with user's ID and group's ID
- Create a GroupRole with group's ID, and role of
admin
From here on out, you can create groups, and users in the browser, but the initial user and rights needed to be set up. There's an issue with seeding on windows which is why these instructrions are ... long.
- Start your server