A Complete Backend Apllication that allows users to Register or Login and then Post on the social media platform. It is a Backend App where all the API calling is done Using GraphQL and setup docker-compose for using postgresql as a Dependency instead of installing postgresql.
- GraphQL + ExpressJs
- Docker Compose
- PostgreSQL
- Prisma ORM
- TypeScript
- Json Web Token
- Apollo Server
- Allows users to Authenticate and Authorize
- Uses Jwt for authentication
- Uses b-crypto for hashing the password
- Uses a containerized envirnment to interact with the databse
- Uses Prisma as a service layer between the database and communication
To run this project, you will need to add the following environment variables to your .env file
DATABASE_URL='postgresql://janedoe:mypassword@localhost:5432/mydb?schema=sample'
- You need to replace username, password and databse name from the docker-compose file and connecto the databse.
Clone the project
git clone https://github.com/neeraj-gs/Threads-App-Backend-GraphQL.git
Go to the project directory
cd Threads-App-Backend-GraphQL
Install dependencies
npm install
Start the graphql server
npm run dev
Go to Apollo Server to Check the API Callings
http://localhost:8000/graphql
Run docker container in the background
docker-compose up -d
Connect to postgresql database using docker
docker exec -it <container_id_here> bash
su postgres
Open postgresql terminal in docker
psql
Some basic databse commands to navigate
\l - lists the databases present
\c <db_name_here> - connects to the databse
\d - lists the tables
\d <table_name_here> - lists all the columns in the talbe
\x - to dispaly data column wise
Any postgresql commands can be run here:
select * from users;
Can Add more features related to different interactions present in a SOcial Media Platform and can interact with the apllication using docker used as a postgresql databse for integrations.