Nigdit

A social media platform

About this project

I made this project with two other friends, and had some non-coding help from one more friend. I was the main developer for the project, not only writing the code, but also managing the project and the team.
Nigdit is a social media platform, where each user can create a group and post in it. It has a whole system of moderating content, so that the users can report posts and groups, and the moderators can take action. Posts can include text, images, gifs and videos.
Users can comment on posts, and make replies to comments. They can also vote on the content. They can be moderators in different groups and help manage the content.

Images

Nigdit community page
Nigdit home page
Nigdit post page
Nigdit Strapi backend

Code

The code for this project is split into two repositories:

Hosting

The entirety of the project is hosted on the cloud by me. I used an Oracle VPS to host the backend, the frontend and the database. The domain, DNS and SSL certificates were all set up by me, using Cloudflare and ngnix.

Technologies

TypeScript TypeScript logo

Used both in the frontend and the backend.

Next.js Next.js logo

Used mainly for frontend (with the exception of a Google login), using the pages router.

Strapi Strapi logo

Used for the backend, as a headless CMS. There's a bunch of custom endpoints and services, pretty much all of the backend is custom.

PostgreSQL PostgreSQL logo

Used as the database for Strapi. This project has a lot of relations, so a relational database was the best choice.