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
with npm
.
- Rust toolchain with
cargo
.
docker
and docker-compose
.
Steps
- Clone the repo.
- cd into
client
and run npm i
to install all dependencies.
- cd into
server
and run cp .env.example .env
- Run
docker-compose up -d
in server
folder.
- Run
npx prisma migrate deploy
in server
directory.
- Run
npm run dev
in client
directory and then run cargo run --release
in server
directory.
- Frontend should be running on
localhost:3000
and backend should be on localhost:5173
Feedback
Feel free to leave any feedback.