Skip to content

Latest commit

 

History

History
84 lines (71 loc) · 2.01 KB

README.md

File metadata and controls

84 lines (71 loc) · 2.01 KB

Homster

Fullstack game library app written in TypeScript & GraphQL that let you buy and browse games and engage in many communities in similar way like Steam.

Usage

Development setup

In order to follow exact setup guide you need Docker and Docker Compose installed, however this is not required to run the application.

Homster comes with database seeding script for development purposes. You can run it by either "prisma db seed" or directly by command in api directory:

ts-node --transpile-only ./database/seed.ts

0. Environmental variables

Create .env file in api root directory and fill with following:

api.port=4000

web.origin=http://localhost:3000
web.production_origin='https://www.your-production-domain.com/'

cookie.secret='secret'
session.key1='random-hex1'
session.key2='random-hex2'

DATABASE_URL="postgresql://admin-user:admin-password@localhost:5432/homster-db?schema=public"

you can generate hex secrets here

1. Backend

Go to api directory, install dependencies and run:

nest start --watch

2. Frontend

Go to web directory, install dependencies and run

next dev

Features & to do

  • API:
    • Auth
    • Users
    • Games
    • Studio
    • Tags
    • Genres
    • Dealing with file uploading
    • Tests
      • Unit
      • E2E
  • DevOps
    • GitHub Actions
  • UI & UX
    • Navbar & Themes
    • Landing page
    • Auth Pages
      • Login & Register page
    • Store pages
      • Home
      • Wishlist
      • News
      • Single game
    • Special pages
      • User profile
      • Studio
      • Admin
      • Moderation

Tech stack

  • Backend:
    • Nest.js
    • PostgreSQL (Prisma)
    • GraphQL (Apollo)
  • Frontend
    • Next.js
    • Tailwind & DaisyUI
    • GraphQL (Urql)

License

MIT