GithubHelp home page GithubHelp logo

dilden / praxis Goto Github PK

View Code? Open in Web Editor NEW

This project forked from praxis-app/praxis

1.0 1.0 0.0 10.79 MB

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

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

License: GNU General Public License v3.0

TypeScript 97.83% SCSS 2.10% JavaScript 0.07%

praxis's Introduction

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 with docker-compose

  1. Install docker and docker-compose.
  2. Clone this repository
  3. Create a file named .env in the project root directory to set the database URL. It should look like this:
DATABASE_URL=postgresql://praxis_pg_user:praxis_pg_password@db/praxis_pg_db
  1. Run docker-compose up -d
  2. Access the Praxis application at http://localhost:3000
  3. Access adminer (for db management) at http://localhost:8080. Default credentials can be found under 'db > environment' of docker-compose.yml.

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.

praxis's People

Contributors

forrestwilkins avatar averyfairbanks avatar dilden avatar

Stargazers

Roman 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.