A React-based web platform to help students find study partners and create study groups for their courses. Connect with fellow students, post study requests, and build meaningful academic friendships.
Built in September 2020 as a hackathon project. This application was bootstrapped with Create React App and uses React Bootstrap for a modern, responsive UI.
- π User authentication (Login/Signup)
- π Study group discovery and creation
- π¬ Forum-style study request cards
- π Dropdown navigation for filtering study groups
- π± Responsive Bootstrap UI
- π Hebrew language support for Israeli students
- π§ React Router for seamless navigation
graph TD
A[App.js - Main Router] --> B[Home - Navigation Bar]
A --> C[Welcoming - Landing Page]
A --> D[Login Form]
A --> E[Signup Form]
A --> F[Study Groups Page]
B --> G[Navigation Links]
B --> H[Auth Buttons]
F --> I[DropDown - Filters]
F --> J[ForumCard - Study Requests]
F --> J
F --> J
F --> J
style A fill:#4a90e2
style B fill:#50c878
style F fill:#ff6b6b
flowchart LR
A[User Visits Site] --> B{Route Selection}
B -->|/| C[Landing Page]
B -->|/login| D[Login Form]
B -->|/signup| E[Signup Form]
B -->|/forming| F[Study Groups]
C --> G[Welcoming Jumbotron]
C --> H[Hero Image]
D --> I[Email/Password Input]
E --> I
F --> J[DropDown Filters]
F --> K[Multiple ForumCards]
K --> L[Study Request Details]
L --> M[Contact Button]
style A fill:#ffd700
style B fill:#4a90e2
style F fill:#ff6b6b
style K fill:#50c878
- Node.js (v10 or higher)
- npm or yarn
- Clone the repository:
git clone https://github.com/orassayag/hackathon-task.git
cd hackathon-task- Install dependencies:
npm install- Start the development server:
npm start- Open http://localhost:3000 in your browser
Runs the app in development mode at http://localhost:3000.
- Page reloads on edits
- Lint errors appear in console
Launches the test runner in interactive watch mode.
Builds the app for production to the build/ folder.
- Optimizes React for best performance
- Minifies and hashes filenames
- Ready for deployment
Warning: This is a one-way operation!
Exposes webpack configuration for advanced customization.
hackathon-task/
βββ public/ # Static files and HTML template
βββ src/
β βββ App.js # Main component with routing
β βββ index.js # Entry point
β βββ Home.js # Navigation bar
β βββ Welcoming.js # Landing page
β βββ Login.js # Login form
β βββ Signup.js # Registration form
β βββ ForumCard.js # Study group card
β βββ DropDown.js # Filter dropdown
β βββ Person.js # Example component
βββ package.json
- React 16.13.1 - UI library
- React Router 5.2.0 - Client-side routing
- React Bootstrap 1.3.0 - UI components
- Bootstrap 4.5.2 - Styling framework
- React Scripts 3.4.3 - Build tooling
| Route | Description |
|---|---|
/ |
Landing page with welcome message |
/login |
User login form |
/signup |
User registration form |
/forming |
Find study buddies and view study requests |
Bootstrap navbar with links to all sections and authentication buttons.
Hero section with StudyBuddy branding and call-to-action.
Login.js- Email/password login formSignup.js- User registration form
ForumCard.js- Displays study requests (supports Hebrew)DropDown.js- Filterable dropdown navigationPerson.js- Example component demonstrating props
Production build targets:
-
0.2% market share
- Modern browsers (Chrome, Firefox, Safari, Edge)
- Not dead browsers
- Excludes Opera Mini
Build the production version:
npm run buildDeploy the build/ folder to:
- GitHub Pages
- Netlify
- Vercel
- Heroku
- Any static hosting service
See the Create React App deployment documentation for detailed instructions.
Contributions are welcome! Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
- Create React App Documentation
- React Documentation
- React Bootstrap Documentation
- React Router Documentation
- Or Assayag - Initial work - orassayag
- Or Assayag orassayag@gmail.com
- GitHub: https://github.com/orassayag
- StackOverflow: https://stackoverflow.com/users/4442606/or-assayag?tab=profile
- LinkedIn: https://linkedin.com/in/orassayag
This project is licensed under the MIT License - see the LICENSE file for details.