Skip to content

Abdulal-Roman09/Fec_Club_Hub_Client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

160 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏑 FEC Backend - Club Management System

FEC Backend is a backend service for a modern club management system of Faridpur Engineering College, built with Node.js, Express.js, and MongoDB (Mongoose).
It powers the core functionalities of the platform such as user authentication, club management, and API endpoints for the frontend.


πŸ“ Project Structure

FEC Backend-server/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ config/         # Database connection & environment configs
β”‚   β”œβ”€β”€ controllers/    # Business logic & request handlers
β”‚   β”œβ”€β”€ middlewares/    # Authentication, error handling, etc.
β”‚   β”œβ”€β”€ models/         # Mongoose schemas and models
β”‚   β”œβ”€β”€ routes/         # API routes
β”‚   β”œβ”€β”€ app.js          # Express application setup
β”‚   └── index.js        # Entry point of the backend server
β”œβ”€β”€ .env                # Environment variables (not committed)
β”œβ”€β”€ .env.example        # Environment variables template
β”œβ”€β”€ .gitignore          # Git ignore rules
β”œβ”€β”€ package.json        # Dependencies and scripts
β”œβ”€β”€ vercel.json         # Vercel deployment config
└── README.md           # Project documentation

πŸš€ Getting Started

1. Clone the Repository

git clone https://github.com/Abdulal-Roman09/Fec_Backend
cd FEC Backend-server

2. Install Dependencies

npm install

3. Setup Environment Variables

Copy the example environment file and update with your values:

cp .env.example .env

Edit the .env file:

PORT=8000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key_here
NODE_ENV=development

4. Run the Server

# Development mode (with auto-reload)
npm run dev

# Production mode
npm start

Server will start at:
πŸ‘‰ http://localhost:8000


πŸ“¦ Available Scripts

Command Description
npm run dev Run server with nodemon (dev)
npm start Run server in production mode
npm test Run test suite (if available)

πŸ› οΈ Tech Stack

  • Node.js – JavaScript runtime
  • Express.js – Web framework
  • MongoDB – NoSQL database
  • Mongoose – ODM for MongoDB
  • JWT – Authentication tokens
  • bcryptjs – Password hashing
  • cors – Cross-origin resource sharing
  • dotenv – Environment variables

πŸ” API Features

Authentication & Users

  • User registration & login
  • JWT-based authentication
  • Protected routes
  • User profile management

Property Management

  • Create, read, update, delete properties
  • Property search and filtering
  • Image upload support
  • Property categories and types

Advanced Features

  • Favorites system
  • Property reviews and ratings
  • Advanced search with filters
  • Pagination support

🧭 Future Enhancements

  • πŸ“Š Admin dashboard APIs
  • πŸ“ Location-based search
  • πŸ’¬ Real-time chat system
  • πŸ“± Push notifications
  • πŸ’³ Payment integration
  • πŸ“ˆ Analytics and reporting
  • πŸ” Advanced search with AI recommendations

πŸ‘¨β€πŸ’» Development Team - clubHanger

Role Name / GitHub Profile
πŸ‘¨β€πŸ’» Core Member Abdul Al Roman

🌿 Team Workflow & Branching Strategy

To maintain code quality and avoid conflicts, every team member must work on feature branches.

πŸͺ„ Step-by-Step Development Guide:

  1. Always start with the latest main branch:

    git checkout main
    git pull origin main
  2. Create a new feature branch:

    git checkout -b feature/your-feature-name
    # or
    git checkout -b fix/issue-description
  3. Make your changes and commit:

    git add .
    git commit -m "feat: add property search functionality"
    # Use conventional commit messages:
    # feat: for new features
    # fix: for bug fixes
    # docs: for documentation
    # style: for formatting
    # refactor: for code refactoring
  4. Push your branch to GitHub:

    git push origin feature/your-feature-name
  5. Create a Pull Request (PR):

    • Go to GitHub repository
    • Create PR from your branch to main
    • Add description of changes
    • Request review from team members
  6. After PR approval:

    • Team lead will merge the PR
    • Delete the feature branch

πŸ”„ Sync Your Local Repository:

# Fetch latest changes from main
git fetch origin

# Rebase your feature branch
git checkout feature/your-feature-name
git rebase origin/main

# Resolve any conflicts if they occur

πŸ› Issue Reporting

Found a bug? Please create an issue with:

  • Clear description of the problem
  • Steps to reproduce
  • Expected vs actual behavior
  • Screenshots if applicable

🌐 Project Links


πŸ“œ License

This project is licensed under the ISC License.


🀝 Contributing

We welcome contributions! Please:

  1. Fork the repository
  2. Create your feature branch
  3. Follow the coding standards
  4. Add tests if applicable
  5. Submit a pull request

πŸ’‘ FEC Backend β€” Building the future of college club management, one line of code at a time.