A community web application for students to build profiles, publish technical blogs, and interact with other developers through likes and comments.
The Student Developer Platform is a full-stack web application where students can build their developer identity, publish technical blogs, and interact with other developers in a collaborative and open environment.
This platform promotes learning in public, knowledge sharing, and beginner-friendly open-source contributions.
- User registration & login (JWT authentication)
- Secure password hashing using bcrypt
- Create and edit developer profile
- Add bio, skills, and project links
- View other developers' profiles
- Create blog posts
- Edit and delete your own posts
- View all published posts
- View individual post details
- Display author information on each post
- Timestamp for posts
- Comment on blog posts
- Delete your own comments
- Like / Unlike posts
- View total likes count per post
- JWT-based authentication
- Protected routes (only logged-in users can post/comment)
- Password encryption with bcrypt
- Environment variable protection (.env)
- Responsive UI (Tailwind CSS)
- Clean blog feed layout
- Developer profile page
- Routing with React Router
- API integration with Axios
- Form validation
- Modern UI structure
- RESTful API architecture
- PostgreSQL relational database
- Structured folder architecture
- Modular routes & controllers
- Environment-based configuration
- React (JavaScript)
- Tailwind CSS
- Axios
- React Router
- Express.js
- PostgreSQL
- JWT Authentication
- bcrypt
Commit31-OSS4/
β
βββ frontend/ # Frontend (React)
β βββ public/
β β βββ index.html
β β
β βββ src/
β β βββ assets/ # Images, icons
β β βββ components/ # Reusable UI components
β β β βββ Navbar.jsx
β β β βββ Footer.jsx
β β β βββ PostCard.jsx
β β β βββ ProtectedRoute.jsx
β β β βββ Loader.jsx
β β β
β β βββ pages/ # Page-level components
β β β βββ Home.jsx
β β β βββ Login.jsx
β β β βββ Register.jsx
β β β βββ BlogFeed.jsx
β β β βββ BlogDetails.jsx
β β β βββ Profile.jsx
β β β βββ CreatePost.jsx
β β β
β β βββ context/ # Global state
β β β βββ AuthContext.jsx
β β β
β β βββ services/ # API calls
β β β βββ authService.js
β β β βββ postService.js
β β β βββ commentService.js
β β β
β β βββ utils/ # Helper functions
β β β βββ formatDate.js
β β β
β β βββ App.jsx
β β βββ main.jsx
β β βββ index.css
β β
β βββ .env
β βββ package.json
β βββ tailwind.config.js
β
β
βββ backend/ # Backend (Express)
β βββ config/
β β βββ db.js # PostgreSQL connection
β β
β βββ controllers/
β β βββ authController.js
β β βββ postController.js
β β βββ commentController.js
β β βββ profileController.js
β β
β βββ middleware/
β β βββ authMiddleware.js
β β βββ errorMiddleware.js
β β
β βββ models/
β β βββ userModel.js
β β βββ postModel.js
β β βββ commentModel.js
β β βββ likeModel.js
β β
β βββ routes/
β β βββ authRoutes.js
β β βββ postRoutes.js
β β βββ commentRoutes.js
β β βββ profileRoutes.js
β β
β βββ utils/
β β βββ generateToken.js
β β
β βββ .env
β βββ server.js
β βββ package.json
β
β
βββ README.md
βββ .gitignore
βββ package.json (optional root config)
git clone https://github.com/YOUR_USERNAME/Commit31-OSS4.git
cd Commit31-OSS4cd backend
npm installCreate a .env file inside the backend folder:
PORT=5000
DATABASE_URL=postgresql://postgres:yourpassword@localhost:5432/Commit31-OSS4
JWT_SECRET=supersecretkey
Run backend:
npm run devBackend runs at:
http://localhost:5000
Open new terminal:
cd frontend
npm install
npm run devFrontend runs at:
http://localhost:5173
Install PostgreSQL and create database:
CREATE DATABASE Commit31-OSS4;We welcome new open-source contributors π
- Fork this repository
- Clone your fork
- Create a new feature branch
- Make your changes
- Commit your changes
- Push to your fork
- Create a Pull Request
git checkout -b feature/add-dark-mode
git add .
git commit -m "Added dark mode feature"
git push origin feature/add-dark-mode- Do not push directly to
main - Create feature branches
- Use meaningful commit messages
- Follow existing folder structure
- Test before submitting PR
- π Dark mode
- π Notifications system
- π₯ Follow other developers
- π· Tags & categories
- π Markdown editor
- π Search & filtering
- π User dashboard
- π Deployment guide
Vansh Rathore
If you like this project:
- β Star the repository
- π΄ Fork it
- π€ Contribute
