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.