KTap is a modern gaming community platform. 中文
- Users: Register, Login, User Center, Activity, Achievement, ...
- Gaming: Review, Comment, Gift, Like, News, ...
- Discussion:Post, Reply, Gift, Like, Sticky, Lock, Report, Moderator, ...
- Others: Discover,Notification,Search, Rank, Tags, Admin Dashboard, ...
- Modify .env.example to .env
- Config your email in .env, the properties starting with "MAILER_"
- Config other properties
- Start Mysql Server
Start backend
cd ktap-server
pnpm install
pnpm prisma db push
pnpm seed:dev
pnpm dev
Start frontend
cd ktap-ui-web
pnpm install
pnpm dev
visit http://localhost:5173 and enjoy.
- Initialize data through the command "pnpm seed:dev", A small amount of data will be initialized, but it covers almost all used scenarios, such as users, games, comments, replies, tags, gifts, etc. Can be used to develop and test functionality.
- Initialize the data through the command "pnpm seed:steam". The initialized content includes basic data and users and all steam games in the gameList (downloaded through the steam api). After the service is started, enter the url "/admin-panel", you can see a 🚀 button in some pages. Click it to generate a huge amount of data, like users, reviews, comments and so on. !!!Note, this command will clear database and re-initialize it.
docker-compose up -d
- Language: NodeJS v20
- Web Framework: Fastify
- Front Framework: ReactJS
- Styling: BaseWeb UI
- Database: SQLite/MySQL
- ORM: Prisma
- Other Libs:
- day-fns: date helper
- photoswipe: explore and scale images
- swiper
- tiptap: amazing editor
- sanitize-html
- nodejieba: Chinese word segmentation
- nodemailer: email helper
- node-cache: simple cache
- node-cron: simple schedule
Note: from version v1.5.0 the database was changed from SQLite to MySQL. There are many differences between SQLite and MySQL, Therefore, versions after v1.5.0 will not be compatible with previous versions.
By the way. SQLite is great for development, demonstration, local storage and personal play, with high efficiency and good performance.
Features that may be developed...
- New UI Components
- Events (Online or Offline)
- Organization owners can mange their own organizations
- Collections (Such as holiday, Discount, New gaming, etc)
- Shopping mall (Virtual Products)
- Improve search, (add search engine and improve relevance algorithms)
- ...
Thanks to the following websites for inspiring me.