A full-stack web application that allows developers to create profiles, showcase projects, and receive feedback from the community.
Frontend:
- React 18
- Tailwind CSS
- React Router DOM
- Axios
Backend:
- Node.js
- Express.js
- MongoDB with Mongoose
- JWT Authentication
- bcryptjs for password hashing
Before running this application, make sure you have the following installed:
- Node.js (version 18 or higher)
- MongoDB (local installation or MongoDB Atlas account)
- Git
git clone <your-repo-url>
cd devrecon
cd backend
npm install
Create a .env
file in the backend directory with the following variables:
NODE_ENV=development
PORT=5000
MONGODB_URI=mongodb://localhost:27017/devconnect
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
JWT_EXPIRE=7d
cd ../frontend
npm install
Make sure MongoDB is running on your system, or update the MONGODB_URI
in your .env
file to point to your MongoDB Atlas cluster.
Terminal 1 - Backend:
cd backend
npm run dev
The backend server will start on http://localhost:5000
Terminal 2 - Frontend:
cd frontend
npm start
The frontend application will start on http://localhost:3000
devrecon/
├── backend/
│ ├── config/ # Database and JWT configuration
│ ├── controllers/ # Route controllers
│ ├── middleware/ # Authentication and validation middleware
│ ├── models/ # MongoDB models
│ ├── routes/ # API routes
│ ├── utils/ # Utility functions
│ └── server.js # Express server setup
├── frontend/
│ ├── public/ # Static assets
│ └── src/
│ ├── components/ # React components
│ ├── pages/ # Page components
│ ├── context/ # React context
│ ├── services/ # API services
│ └── utils/ # Utility functions
└── README.md
- User authentication (signup/login)
- User profiles with bio and skills
- Project creation and management
- Project browsing and search
- Comment system for projects
- Responsive design
- Clean, modern UI
Frontend: Deploy to Vercel or Netlify Backend: Deploy to Render or Railway Database: MongoDB Atlas
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License.