EngiSpace is a dedicated platform designed to facilitate seamless communication and collaboration between engineers. Built with React and Node.js, it provides a specialized space where engineers can connect, share knowledge, and work together on projects with fellow professionals in the field.
- Modern React-based frontend with Vite
- Secure Node.js/Express backend
- MongoDB database integration
- User authentication and authorization
- Real-time communication between engineers
- Project collaboration tools
- Image upload functionality via Imgur
- Responsive design with Tailwind CSS
- Professional networking capabilities
- React 19
- Vite
- React Router DOM
- Tailwind CSS
- Axios for API calls
- Node.js
- Express.js
- MongoDB with Mongoose
- JWT for authentication
- Bcrypt for password hashing
- Node.js (v14 or higher)
- MongoDB
- Clone the repository:
git clone https://github.com/yourusername/engispace.git
cd engispace- Install frontend dependencies:
cd client/EngiSpace
npm install- Install backend dependencies:
cd ../../server
npm install- Create a
.envfile in the server directory with the following variables:
PORT=8080
DB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret- Start the backend server:
cd server
npm run dev- Start the frontend development server:
cd client/EngiSpace
npm run devThe application will be available at:
- Frontend: http://localhost:5173
- Backend: http://localhost:3000
engispace/
├── client/
│ └── EngiSpace/ # React frontend application
│ ├── src/ # Source files
│ ├── public/ # Static files
│ └── package.json # Frontend dependencies
└── server/
├── src/ # Backend source files
│ ├── routes/ # API routes
│ ├── models/ # Database models
│ └── index.js # Server entry point
└── package.json # Backend dependencies
- JWT-based authentication
- Password hashing with bcrypt
- CORS protection
- Secure cookie handling
- Input validation and sanitization
- 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 ISC License - see the LICENSE file for details.
- Trayan Parushev Vasilev - Initial work
- React team for the amazing frontend framework
- MongoDB team for the powerful database