SponsorConnect is a web platform that connects sponsors with individuals or organizations seeking sponsorship. The platform facilitates seamless interactions between sponsors and seekers, making it easier to create, manage, and respond to sponsorship opportunities.
- Create and manage sponsorship listings
- Browse through sponsorship requests
- Track sponsorship history and transactions
- Manage company profile and budget
- View and interact with potential sponsorship candidates
- Create detailed sponsorship requests
- Showcase projects or events needing sponsorship
- Track received sponsorships
- Manage personal/organization profile
- Direct interaction with potential sponsors
- Backend: Node.js with Express.js
- Frontend: EJS templating engine with vanilla JavaScript
- Database: MongoDB
- Authentication: Passport.js
- Styling: Custom CSS with responsive design
- Icons: Font Awesome
- Node.js (v14 or higher)
- MongoDB (v4.4 or higher)
- npm (Node Package Manager)
- Clone the repository:
git clone https://github.com/yourusername/sponsorconnect.git
cd sponsorconnect- Install dependencies:
npm install- Create a
.envfile in the root directory and add the following:
PORT=3001
MONGODB_URI=mongodb://localhost:27017/sponsorconnect
SESSION_SECRET=your_session_secret_here- Start MongoDB service:
mongod- Run the application:
npm startThe application will be available at http://localhost:3001
sponsorconnect/
├── app.js # Application entry point
├── models/ # Database models
│ ├── User.js
│ ├── Listing.js
│ └── Sponsorship.js
├── routes/ # Route handlers
│ ├── auth.js
│ ├── dashboard.js
│ └── profile.js
├── views/ # EJS templates
│ ├── dashboard.ejs
│ ├── profile.ejs
│ └── ...
├── public/ # Static files
│ ├── css/
│ └── js/
└── config/ # Configuration files
└── passport.js
- User registration and authentication
- Role-based access (Sponsor/Seeker)
- Profile management
- Session handling
- Create, read, update, and delete listings
- Filter and search functionality
- Status tracking (Active/Pending/Closed)
- Automatic default listing creation for new users
- Detailed user profiles
- Transaction history
- Statistics dashboard
- Profile editing capabilities
- Password hashing
- Session management
- Protected routes
- Input validation
POST /auth/signup- User registrationPOST /auth/login- User loginGET /auth/logout- User logout
GET /profile- View profilePOST /profile/update- Update profilePOST /profile/listing- Create listingPUT /profile/listing/:id- Update listingDELETE /profile/listing/:id- Delete listing
GET /dashboard- View dashboardGET /dashboard/listings- View all listingsPOST /dashboard/sponsor- Create sponsorship
- Create a free account at MongoDB Atlas
- Set up a new cluster (select the FREE tier)
- Create a database user with a password
- Get your connection string and update your .env file
- Create a free account at Render
- Connect your GitHub repository
- Create a new Web Service with the following settings:
- Build Command:
npm install - Start Command:
node app.js
- Build Command:
- Add environment variables from your .env file
- Deploy!
No credit card required for either service!
- 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 - see the LICENSE file for details.
For support, please email support@sponsorconnect.com or open an issue in the GitHub repository.
- Thanks to all contributors who have helped shape SponsorConnect
- Special thanks to the open-source community for the tools and libraries used in this project