A web application for ISKCON NGO to manage events, users, and matches.
- User authentication (register, login, profile management)
- Event management
- Interest-based event matching
- Admin dashboard
- Node.js (v14 or higher)
- MongoDB (local installation or MongoDB Atlas account)
- Clone the repository
- Install dependencies:
npm install - Configure environment variables:
- Copy
.env.exampleto.env(or create a new.envfile) - Update the MongoDB connection string and other variables as needed
- Copy
- Make sure MongoDB is installed and running on your system
- Update the
.envfile with your local MongoDB connection string:MONGODB_URI=mongodb://localhost:27017/iskcon_ngo
- Create a MongoDB Atlas account and set up a cluster
- Get your connection string from MongoDB Atlas
- Update the
.envfile with your Atlas connection string:(ReplaceMONGODB_URI=mongodb+srv://<username>:<password>@<cluster>.mongodb.net/iskcon_ngo?retryWrites=true&w=majority<username>,<password>, and<cluster>with your actual credentials)
To populate the database with sample data:
node scripts/seedData.js
This will create sample users and events in the database.
npm start
The application will be available at http://localhost:3000
POST /api/auth/register- Register a new userPOST /api/auth/login- Login a userGET /api/auth/me- Get current user profile
GET /api/users- Get all users (admin only)GET /api/users/:id- Get user by IDPUT /api/users/:id- Update userDELETE /api/users/:id- Delete user
GET /api/events- Get all eventsGET /api/events/:id- Get event by IDPOST /api/events- Create new event (admin only)PUT /api/events/:id- Update event (admin only)DELETE /api/events/:id- Delete event (admin only)
GET /api/matches- Get events matching user interests
MIT