kylepfeeley / praxis

Social networking platform built with Next.js, Apollo GraphQL, and Prisma

Home Page:https://p.raxis.xyz

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Praxis

Praxis is an open source social networking site. Motions are the main focus and come with a wide variety of voting features, with consensus as the default. Create a group and set it to no-admin, allowing group members to create motions and democratically decide on name, settings, roles, or planning of real world events.

While model of consensus is the default, group members will also be able to use regular majority vote, and have the ability to create and assign new roles with various permissions. All of this can be tailored in group settings to meet the specific needs of your community, either by a groups admin, or by motions as a group evolves over time.

The tech stack includes the following:

  • Apollo GraphQL
  • TypeScript
  • Next.js
  • Prisma

Praxis is free and open source software, as specified by the GNU General Public License.

Setting up Praxis for development

  1. Install Node version 15.12.0 using NVM or Homebrew
  2. Install Yarn: npm install -g yarn
  3. Download the package or clone the repo.
  4. Install Node modules: cd praxis && yarn install
  5. Create a .env file and include your database URL as DATABASE_URL
  6. Generate the Prisma client: yarn prisma generate
  7. Run the database migrations: yarn prisma migrate dev --preview-feature
  8. Run mkdir public/uploads to enable image uploads
  9. Start development server: yarn dev
  10. To create first user, navigate to http://localhost:3000/users/signup
  11. To test out roles and permissions features, navigate to http://localhost:3000/roles
  12. Enable pre-commit hook with Husky: npx husky install && npx husky add .husky/pre-commit "yarn lint-staged"

The default database is PostgreSQL.

Tools to get Involved and Collaborate

Contributions

Praxis is open to contributions. Please read CONTRIBUTING.md for more details.

About

Social networking platform built with Next.js, Apollo GraphQL, and Prisma

https://p.raxis.xyz

License:GNU General Public License v3.0


Languages

Language:TypeScript 97.8%Language:SCSS 2.1%Language:JavaScript 0.1%