Pantheon

所属分类:PostgreSQL
开发工具:TypeScript
文件大小:308KB
下载次数:0
上传日期:2023-04-10 22:04:31
上 传 者sh-1993
说明:  一个新闻聚合器,用户可以在其中发帖并参与树结构的评论系统。
(A news aggregator where users can make posts and engage in a tree structured comment system.)

文件列表:
LICENSE (1062, 2023-06-05)
backend (0, 2023-06-05)
backend\custom.d.ts (135, 2023-06-05)
backend\package.json (1637, 2023-06-05)
backend\src (0, 2023-06-05)
backend\src\account (0, 2023-06-05)
backend\src\account\account.controller.ts (1378, 2023-06-05)
backend\src\account\account.dto.ts (274, 2023-06-05)
backend\src\account\account.module.ts (441, 2023-06-05)
backend\src\app.module.ts (3076, 2023-06-05)
backend\src\bookmark (0, 2023-06-05)
backend\src\bookmark\bookmark.controller.ts (1465, 2023-06-05)
backend\src\bookmark\bookmark.dto.ts (207, 2023-06-05)
backend\src\bookmark\bookmark.entity.ts (579, 2023-06-05)
backend\src\bookmark\bookmark.module.ts (663, 2023-06-05)
backend\src\bookmark\bookmark.service.ts (3852, 2023-06-05)
backend\src\comment (0, 2023-06-05)
backend\src\comment\comment.controller.ts (2443, 2023-06-05)
backend\src\comment\comment.dto.ts (1806, 2023-06-05)
backend\src\comment\comment.entity.ts (909, 2023-06-05)
backend\src\comment\comment.module.ts (753, 2023-06-05)
backend\src\comment\comment.service.ts (7941, 2023-06-05)
backend\src\feed (0, 2023-06-05)
backend\src\feed\feed.controller.ts (1359, 2023-06-05)
backend\src\feed\feed.dto.ts (3209, 2023-06-05)
backend\src\feed\feed.module.ts (336, 2023-06-05)
backend\src\feed\feed.service.ts (3100, 2023-06-05)
backend\src\feed\feed.sql.ts (4729, 2023-06-05)
backend\src\file (0, 2023-06-05)
backend\src\file\file.controller.ts (3975, 2023-06-05)
backend\src\file\file.dto.ts (139, 2023-06-05)
backend\src\file\file.module.ts (215, 2023-06-05)
backend\src\forum (0, 2023-06-05)
backend\src\forum\forum.controller.ts (1260, 2023-06-05)
backend\src\forum\forum.dto.ts (340, 2023-06-05)
backend\src\forum\forum.entity.ts (533, 2023-06-05)
... ...

# Pantheon A news aggregator where users can make posts and engage in a tree structured comment system. ## Feature List * Invite only registration, users can generate up limited invite codes for other users to register * Login system with max login attempts and account lockdown * Hashed and salted passwords using bcrypt * Utilizing node crypto's timingSafeEquals to prevent timing attacks * Secure session system using cookies * Forums designed for special interests (music, programming, etc.) each with rules and a description * Post text, website links, or images on each forum * Tree structured comment section for each post * Custom algorithm for unmarshalling and marshalling an array structure into a tree * Voting system for both posts and comments that keeps track of every user's votes (to prevent duplicate votes) * Notification system so users can see when other users reply to their comments * Subscription system to give each user a customized feed * Utilizing SQL INNER JOINS to only fetch forums which the user is subscribed to * Feed system to sort posts by relevance, age, votes, or comments for each forum or all subscribed forums * Custom relevance algorithm implemented using Logarithms * Paginating feed using cursor pagination for high performance sorted paging that uses the database indices * Full text search system using PostgreSQL's built in full text search * Uilizes GIN indicdes to improve full text search performance * Allows for custom operators like & and | to improve search filtering ## Pending Features * Bookmark posts and allow a user to see their own bookmarks * Adding video upload for posts alongside images * Real time notification system which uses web sockets * Record a video of the entire website * Add the database schema diagram to the gallery * Do some benchmarks on the search system (and record a video of that) * Deploy on a hosted website (tried DO but it was too expensive and had issues with cookies) ## What I Learned * When to use an RDMS vs when to use a NoSql database * How to use cursor based pagination to improve performance of paginating for feeds * How to use ORM libraries to improve developer productivity with database access * New frameworks: Nextjs (for frontend) and Nestjs (for backend) * How to utilize database indices for optimizing database queries * When to use SSR, CSR, SSG, or ISR (for nextjs) ## Gallery ![image](https://user-images.githubusercontent.com/58538077/203263772-eca151d4-bcb1-4db2-a110-c268b2087897.png) ![image](https://user-images.githubusercontent.com/58538077/203263929-b9dd1f8e-6ee1-4fbf-8526-030127cd097f.png) ![image](https://user-images.githubusercontent.com/58538077/2032***073-06c7***8e-9771-449e-9ae9-c1756c3e8aa4.png) ![image](https://user-images.githubusercontent.com/58538077/2032***253-3ad5dc95-ec5d-4cfb-b4a3-2979bad72408.png) ![image](https://user-images.githubusercontent.com/58538077/2032***343-093fff49-7e86-4f3a-828d-39cf1aca1b70.png) ![image](https://user-images.githubusercontent.com/58538077/2032***511-bd39670f-8a33-4b70-b62e-139021255c57.png) ![image](https://user-images.githubusercontent.com/58538077/2032***769-471fe444-7ee6-4af9-857f-37747a12***c5.png) ![image](https://user-images.githubusercontent.com/58538077/2032***928-c08b2413-32dc-466b-876c-db91488feeb8.png) ![image](https://user-images.githubusercontent.com/58538077/2032***9***-f77ae8b5-f114-4e0b-8b1f-8445e86e2ab3.png) ![image](https://user-images.githubusercontent.com/58538077/203265141-feabce10-31d6-4111-acda-528bd622e8f7.png)

近期下载者

相关文件


收藏者