Echo Web is the Next.js frontend for Echo, a social media platform powered by a NestJS backend. It connects with the echo-backend API to let users authenticate, explore feeds, create content, and interact with others in real time.
This project is built with Next.js (App Router), TypeScript, and Tailwind CSS, and is designed to be clean, fast, and scalable.
- User authentication (login & signup)
- Feed browsing and content interaction
- Responsive UI for desktop and mobile
- Modern React patterns with Next.js App Router
- Tailwind CSS for styling
- Next.js – framework for UI and routing
- React – UI library
- TypeScript – type safety
- Tailwind CSS – utility-first styling
- Fetch / Axios – backend API communication
Make sure you have:
- Node.js (v16+ recommended)
- pnpm, npm, or yarn
- The Echo backend running
- Clone the repository:
git clone https://github.com/Petergrac/echo-web.git
cd echo-web- Install dependencies:
pnpm install
# or npm install
# or yarn- Create an environment file:
touch .env.localAdd the backend API URL:
NEXT_PUBLIC_API_URL=http://localhost:4000Replace the URL if your backend runs elsewhere.
- Start the development server:
pnpm dev
# or npm run dev
# or yarn dev- Open in your browser:
http://localhost:3000| Variable | Description |
|---|---|
| NEXT_PUBLIC_API_URL | Base URL of the Echo backend API |
app/ # Next.js routes and layouts
src/ # Components, hooks, utilities
public/ # Static assets
styles/ # Global stylesThis frontend consumes the Echo backend API built with NestJS:
https://github.com/Petergrac/echo-backend
Make sure:
- The backend is running
- CORS allows requests from your frontend domain
- The API URL is correctly set in
.env.local
The backend handles authentication, posts, likes, comments, notifications, and real-time features.
You can deploy this project on platforms like:
- Vercel
- Netlify
- Cloudflare Pages
Steps:
- Push the repository to your hosting provider
- Set
NEXT_PUBLIC_API_URLin environment variables - Build command:
pnpm build- Start command:
pnpm startContributions are welcome.
- Fork the repository
- Create a new branch
- Commit your changes
- Open a pull request
If the app does not work as expected:
- Confirm the backend is running
- Check
.env.localvalues - Inspect network requests in DevTools
- Verify API endpoints still match the backend
There are some endpoints that i did not implement like.
- Post Update.
- Admin routes.
MIT (or specify if different)