A modern, mobile-responsive web application for the Developer Students Club at SRM Institute of Science and Technology, Ramapuram Campus.
- Animated teal
</>symbol with fade-in effects - Professional branding with club name and institute details
- Smooth transition to main application
- Clean, modern hero section
- Interactive call-to-action buttons
- Responsive navigation system
- Three informative cards showcasing:
- Club mission and vision
- Activities and workshops
- Community and joining information
- Add Members: Complete form with name, role, photo, and description
- View Members: Beautiful card layout with member information
- Edit Members: Update member details in-place
- Delete Members: Remove team members with confirmation
- Photo Support: Display member photos or placeholder avatars
- Frontend: React.js with modern hooks and state management
- Backend: FastAPI with Python
- Database: MongoDB with PyMongo
- UI Components: shadcn/ui component library
- Styling: Custom CSS with CSS variables and responsive design
- Typography: Inter font family for modern aesthetics
- Teal Accent Color (#008080) for consistent branding
- Mobile-First responsive design
- Smooth Animations and hover effects
- Modern Typography with proper spacing and hierarchy
- Accessible with proper contrast and keyboard navigation
- Node.js (v16 or higher)
- Python (v3.8 or higher)
- MongoDB (v4.4 or higher)
- Yarn package manager
-
Navigate to backend directory:
cd backend -
Install Python dependencies:
pip install -r requirements.txt
-
Set up environment variables: Create a
.envfile in the backend directory:MONGO_URL=mongodb://localhost:27017 DB_NAME=dsc_club CORS_ORIGINS=*
-
Start the backend server:
python server.py
The API will be available at
http://localhost:8001
-
Navigate to frontend directory:
cd frontend -
Install dependencies:
yarn install
-
Set up environment variables: Create a
.envfile in the frontend directory:REACT_APP_BACKEND_URL=http://localhost:8001
-
Start the development server:
yarn start
The application will be available at
http://localhost:3000
GET /api/team-members- Get all team membersPOST /api/team-members- Create a new team memberGET /api/team-members/{id}- Get a specific team memberPUT /api/team-members/{id}- Update a team memberDELETE /api/team-members/{id}- Delete a team member
GET /api/club-info- Get club information and activitiesGET /api/health- Health check endpoint
Create a team member:
curl -X POST "http://localhost:8001/api/team-members" \
-H "Content-Type: application/json" \
-d '{
"name": "John Doe",
"role": "Frontend Developer",
"photo": "https://example.com/photo.jpg",
"description": "Passionate about React and modern web development"
}'Get all team members:
curl -X GET "http://localhost:8001/api/team-members"The application is fully responsive and works seamlessly across:
- Desktop (1200px+)
- Tablet (768px - 1199px)
- Mobile (320px - 767px)
- Simplified navigation with icons
- Optimized touch targets
- Stacked layouts for better readability
- Responsive images and content
Here are some previews of the project:
/
βββ backend/ # FastAPI backend
β βββ server.py # Main API application
β βββ requirements.txt # Python dependencies
β βββ .env # Environment variables
βββ frontend/ # React frontend
β βββ src/
β β βββ App.js # Main React component
β β βββ App.css # Main styles
β β βββ index.js # Entry point
β β βββ components/ # UI components
β βββ package.json # Node dependencies
β βββ .env # Environment variables
βββ README.md # This file
- Backend: Add new endpoints in
server.py - Frontend: Update
App.jsfor new UI components - Database: Schema is flexible with MongoDB
- Styling: Add styles in
App.cssusing existing design system
The application uses a consistent design system:
- Colors: Defined in CSS variables for easy theming
- Typography: Inter font with responsive sizing
- Spacing: Based on 4px grid system
- Components: Reusable shadcn/ui components
The application includes comprehensive testing for:
- API Endpoints: All CRUD operations tested
- Frontend Functionality: Navigation and user interactions
- Responsive Design: Multiple viewport sizes
- Error Handling: Proper error states and validation
Backend API Testing:
python backend_test.pyFrontend Testing:
cd frontend
yarn test-
Build frontend:
cd frontend yarn build -
Deploy backend:
- Configure production MongoDB URL
- Set proper CORS origins
- Use production ASGI server (gunicorn + uvicorn)
-
Environment Variables: Update production environment variables accordingly.
This project is created for the Developer Students Club at SRM IST Ramapuram Campus.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
For support and questions:
- Club: Developer Students Club - SRM IST Ramapuram
- Email: Contact your club coordinators
- GitHub: Create an issue in the repository
Built with β€οΈ by Developer Students Club - SRM IST RMP





