- Frontend: Next.js
- Backend: Next.js API routes
- ORM: Prisma ORM
- Database: Postgres 16
- Bundler: Bun
- User Memberships: Register and manage user profiles.
- Creating Topics: Create and manage discussion topics.
- Post Papers: Create post about interesting papers.
- Commenting: Engage in discussions through comments.
- Upvoting: Upvote posts and comments.
- Sharing: Share interesting papers with peers.
- Sorting & Filtering: Sort and filter topics for better navigation.
- Bun
- Node.js
- Postgres 16
-
Clone the repository:
git clone https://github.com/yourusername/kleesia.git cd kleesia
-
Install dependencies:
bun install
-
Set up environment variables: Create a
.env
file in the root of the project and add your Postgres SQL connection string and other necessary environment variables:DATABASE_URL="postgresql://[HOST]:[PASSWORD]@[HOST]:[PORT]/[DATABASE]?schema=public"
Note: You will need to generate a private key (PRIVATE_KEY) to add to your
.env
file. -
Setup Prisma Client:
bun prisma generate
-
Sync Database Migrations:
bun prisma migrate dev
-
Start the Development Server:
bun dev
The project will be available at
http://localhost:3000
. -
Access the Data Management Platform offered by Prisma:
bun prisma studio
The plaform will be available on
http://localhost:5555
-
Use a browser you dont normally use: At a certain point you may have to clear your cache. It'll be better not to have to do this using your day-to-day browser because then you'll be logged out of everything.
-
To reset the database:
bun prisma migrate reset
-
To add a dependency:
bun add <library>
-
To check the status of your migration
bun prisma migrate status
Note: On occasion if things are becoming messy, you may have to rm -rf src/prisma/migrations/
then run a reset.