Link Library is a modern web application that helps users organize and manage their web resources efficiently. Built with React and Firebase, it provides a secure and user-friendly platform for saving, categorizing, and accessing web resources like articles, tutorials, documentation, and other valuable links. [https://jsackitey1.github.io/link-library/resources]
Here's a walkthrough of implemented features:
- Secure Google Sign-In integration
- Protected routes for authenticated users
- User-specific resource management
- Add Resources
- Title and URL
- Detailed descriptions
- Custom categories
- Searchable tags
- View Resources
- Grid layout display
- Search functionality
- Category filtering
- Edit Resources
- Update resource details
- Modify categories and tags
- Real-time updates
- Pre-defined categories (Development, Design, Marketing, Other)
- Create custom categories
- Dynamic category management
- Category-based organization
- Search through saved resources
- Filter by title, description, or tags
- Real-time search results
- Firebase Firestore integration
- Instant updates
- Secure data storage
- User-specific data isolation
- React.js
- React Router for navigation
- Context API for state management
- Modern CSS for styling
- Firebase Authentication
- Firebase Firestore
- Firebase Hosting
- Node.js (v14 or higher)
- npm or yarn
- Firebase account
-
Clone the repository git clone https://github.com/yourusername/link-library.git cd link-library
-
Install dependencies bash:link-library/README.md npm install
-
Create a Firebase project
- Go to Firebase Console
- Create a new project
- Enable Authentication (Google Sign-In)
- Set up Firestore Database
-
Configure Firebase Create a
.env
file in the root directory: -
Start the development server
bash npm start
-
Authentication
- Sign in using Google account
- Access your personal resource library
-
Adding Resources
- Click "Add New Resource"
- Fill in resource details
- Select or create a category
- Add relevant tags
- Save the resource
-
Managing Resources
- View all resources in grid layout
- Search for specific resources
- Edit existing resources
- Browse by categories
-
Organizing Resources
- Create custom categories
- Add descriptive tags
- Use search and filters
Deploy to Firebase Hosting:
-
Install Firebase CLI bash npm install -g firebase-tools
-
Login to Firebase bash firebase login
-
Initialize Firebase project bash firebase init
-
Build the application bash npm run build
-
Deploy to Firebase bash firebase deploy
- src/components/: React components
- src/contexts/: Context providers
- src/pages/: Page components
- src/utils/: Utility functions
- src/App.js: Main App component
- src/index.js: Entry point
- public/: Static files
- package.json: Project dependencies
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Firebase for authentication and database services
- React.js community
- All contributors to this project
- Copy
src/firebase/config.example.js
tosrc/firebase/config.js
- Update
config.js
with your Firebase credentials - Copy
.env.example
to.env
- Update
.env
with your environment variables