A platform for discovering, sharing, and organizing helpful resources with others
- 🔐 User Authentication (Sign In / Sign Up)
- 🔍 Search and Filter Resources
- ✍️ Create Public or Private Resources
- 📚 Organize Links into Collections
- 📌 Bookmark Favorite Resources
- 👍 Upvote-Based Ranking System
- 🔄 Import Browser Bookmarks (Coming Soon)
- Frontend: Next.js 13+ (App Router), Tailwind CSS, TypeScript
- Backend: Express.js, Node.js
- Database: MongoDB (via Mongoose)
- Monorepo Tooling: Turborepo
- Others: Vercel (Frontend), Vercel (Backend)
-
Community Resource Hub
A platform for users to share and discover resources in a collaborative space. -
Personalized Learning Platform
Curate and organize learning materials for users to bookmark and access. -
Content Curation Directory
Share and organize industry resources, articles, or product recommendations. -
Research & Resource Archive
A centralized place for professionals to store and share research and articles. -
Resource Discovery Platform
Let users explore and upvote valuable resources across any topic.
resourcle/
├── apps/
│ ├── frontend # Next.js application
│ ├── server # Express.js backend API
│ └── util-server # Utility server (e.g., for secondary tasks like URL verification)
├── packages/ # Shared code and types
└── turbo.json # Turborepo configuration Follow these steps to set up the project on your local machine:
you have the following tools installed:
- Node js (version 16.x or above) Download here
- npm (Node Package Manager) – Comes with Node.js installation.
Confirm installation by running:node -v npm -v
- Git – Download Here .
Verify by running:git --version - MongoDB – A local or cloud database instance for data storage. Set up MongoDB .
Clone the project repository from GitHub to your local machine:
git clone https://github.com/muaaz-raza-dev/Resourcle.git
Navigate to the project directory:
cd resourcle
This project uses Turborepo to manage multiple apps within a monorepo. Install all dependencies from the root directory:
npm install
This command will install all the packages listed in the package.json file, including backend and frontend dependencies.
- Create a .env file in the root directory
- Add the required environment variables as shown in the .env.example file. For example:
cp apps/frontend/.env.example apps/frontend/.env
cp apps/server/.env.sample ./apps/server/.env
Replace placeholders like where API keys needed replace with your actual configuration values.
Run both server and frontend simultaneously . Move to root folder
npm run dev
Alternatively, you can start apps individually:
- Backend (API):
cd apps/server
npm run dev
- Frontend (Web):
cd apps/frontend
npm run dev
- Utility Server (util-server):
cd apps/util-server
npm run dev
The project includes a database seeder script for fresh start, run it after starting the backend:
cd apps/server
npm run seed
Once the servers are running:
- Backend: Open http://localhost:5000 in your browser or use Postman to test API endpoints.
- Frontend: Access the application at http://localhost:3000 in your browser.
- Port Conflicts: Ensure the ports /3000 (web) , /5000 (API) and /4000 (UTIL-SERVER) are available.
- Database Issues: Verify that MongoDB is running locally or check your cloud database connection string.
Contributers are welcome! Please follow the CONTRIBUTING.md file for more details.
This project is licensed under the Apache-2.0 license License. See the LICENSE file for details.
Resourcle is built with the power of the modern web stack and amazing open-source tools:
- Next.js
- Express.js
- TypeScript
- MongoDB
- Cloudinary for media storage
- Turborepo for monorepo management
Found a bug, have a feature request, or just want to say hi?
Feel free to open an issue or reach out via email.