Instagram Clone written with Rust and Svelte
Instagram clone written in rust and svelte. It implments the following instagram features.
- Authentication and authorization.
- Uploading a photo with description.
- Liking and disliking photos.
- Creating and deleting comments.
- Liking and disliking comments.
- User profiles.
- Following People.
Technologies Used
It uses following technologies.
Backend
- Actix web for async API
- PostgreSQL as Database
- sqlx for querying
- Prisma for migrations
Frontend
- SvelteKit
- Tailwind for UI
- Redux Toolkit Query for querying, caching and revalidation.
Devops
- Docker for spinning up postgres database.
Instructions
Prerequisites
- At least version 16 of
node.js
withnpm
. - Rust toolchain with
cargo
. docker
anddocker-compose
.
Steps
- Clone the repo.
- cd into
client
and runnpm i
to install all dependencies. - cd into
server
and runcp .env.example .env
- Run
docker-compose up -d
inserver
folder. - Run
npx prisma migrate deploy
inserver
directory. - Run
npm run dev
inclient
directory and then runcargo run --release
inserver
directory. - Frontend should be running on
localhost:3000
and backend should be onlocalhost:5173
Feedback
Feel free to leave any feedback.