This is a full-stack application that replicates the core features of Instagram with a React.js frontend and a .NET Core Web API (v8) backend, connected to a SQL Server database.
The app includes functionalities like user authentication, photo uploads, likes, comments, and a feed showcasing posts from other users.
- Frontend: Built with React.js for a dynamic and responsive user interface.
- Backend: Developed using ASP.NET Core Web API 8, providing secure and efficient endpoints.
- Database: Uses SQL Server for data storage and management.
- Authentication: Bycrypt(currently will change to jwt later ) for secure user login and registration.
- Image Handling: Upload and display user photos with support for captions.
- Feed: Displays posts from followed users in chronological order.
- Responsive Design: Optimized for mobile devices currently.
If you find this project helpful, you can support it by making a donation:
### Frontend (React.js)
frontend/
├── public/
├── src/
│ ├── Api/
│ ├── components/
│ ├── icons/
│ ├── pages/
│ ├── services/
│ ├── utils/
│ ├── App.tsx
│ └── main.tsx
├── package.json
├── eslint.config.js
├── tailwind.config.js
├── postcss.config.js
├── index.html
└── README.md
### Backend (ASP.NET Core Web API)
backend/
├── Src/
│ ├── Controllers/
│ ├── Models/
│ ├── DB/
│ ├── Services/
│ └── Middlewares/
├── Program.cs
├── README.md
└── appsettings.json
- Frontend: React.js, Axios, React Router, Redux Toolkit
- Backend: ASP.NET Core Web API 8
- Database: SQL Server
- Other Tools: Postman, Swagger for API documentation
- Node.js (v18+)
- .NET SDK (v8)
- SQL Server (any compatible version)
- npm or yarn
- Visual Studio or any IDE with .NET Core support
- Postman (optional, for API testing)
git clone https://github.com/yourusername/your-repo-name.git
cd your-repo-name
- Navigate to the
frontend
folder:cd frontend
- Install dependencies:
npm install
- Start the development server:
The React app should now be running on
npm run dev
http://localhost:3000
.
-
Navigate to the
backend
folder:cd backend
-
Update the connection string in
appsettings.json
:"ConnectionStrings": { "DefaultConnection": "Server=YOUR_SERVER;Initial Catalog=YOUR_DATABASE;TrustServerCertificate=True;Trusted_Connection=True"
-
Apply migrations and seed the database (if applicable):
dotnet ef database update
-
Start the backend server:
dotnet run
The Web API should now be running on
http://localhost:7272
(or another specified port).
- Update/Check the API base URL in your React app (e.g.,
src/Api/AxiosInstance.js
):basrUrl = 'http://localhost:7272/api';
- Frontend: Access the React app at
http://localhost:3000
. - API Testing: Use Postman or Swagger to test backend endpoints:
- Swagger UI:
http://localhost:7272/swagger
- Swagger UI:
- Database: Verify the data in your SQL Server database using tools like SQL Server Management Studio (SSMS).
- Build the React app:
npm run build
Use the Swagger UI for API documentation and testing:
http://localhost:7272/swagger
- Name: Satmeet Singh
- GitHub: GitHub Profile
- LinkedIn: LinkedIn Profile