Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 

Repository files navigation

EngiSpace - Engineering Communication Platform

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.

🚀 Features

  • 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

🛠️ Tech Stack

Frontend

  • React 19
  • Vite
  • React Router DOM
  • Tailwind CSS
  • Axios for API calls

Backend

  • Node.js
  • Express.js
  • MongoDB with Mongoose
  • JWT for authentication
  • Bcrypt for password hashing

📋 Prerequisites

  • Node.js (v14 or higher)
  • MongoDB

🔧 Installation

  1. Clone the repository:
git clone https://github.com/yourusername/engispace.git
cd engispace
  1. Install frontend dependencies:
cd client/EngiSpace
npm install
  1. Install backend dependencies:
cd ../../server
npm install
  1. Create a .env file in the server directory with the following variables:
PORT=8080
DB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret

🚀 Running the Application

  1. Start the backend server:
cd server
npm run dev
  1. Start the frontend development server:
cd client/EngiSpace
npm run dev

The application will be available at:

📁 Project Structure

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

🔒 Security Features

  • JWT-based authentication
  • Password hashing with bcrypt
  • CORS protection
  • Secure cookie handling
  • Input validation and sanitization

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 License

This project is licensed under the ISC License - see the LICENSE file for details.

👥 Authors

  • Trayan Parushev Vasilev - Initial work

🙏 Acknowledgments

  • React team for the amazing frontend framework
  • MongoDB team for the powerful database

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages