Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/muaaz-raza-dev/resourcle
Community driven platform for sharing valuable links
https://github.com/muaaz-raza-dev/resourcle
express fastify nextjs nodejs shadcn-ui
Last synced: 13 days ago
JSON representation
Community driven platform for sharing valuable links
- Host: GitHub
- URL: https://github.com/muaaz-raza-dev/resourcle
- Owner: muaaz-raza-dev
- License: apache-2.0
- Created: 2024-12-15T17:44:41.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2025-01-16T12:48:23.000Z (13 days ago)
- Last Synced: 2025-01-16T21:18:43.422Z (13 days ago)
- Topics: express, fastify, nextjs, nodejs, shadcn-ui
- Language: TypeScript
- Homepage: https://resourcle.vercel.app
- Size: 6.08 MB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Resourcle
Resourle is the community driven resource link sharing platform for everyone***
# Main Features
* User Authentication
* Search resource
* Create resource
* Public / Private resources
* Resource collection
* bookmark resource
* upvote based ranking***
# 📑 Demo
Coming soon ...
***
# Installation
Follow these steps to set up the project on your local machine:
## Prerequisites
you have the following tools installed:
1. Node js (version 16.x or above) [Download here](https://nodejs.org/en)
2. npm (Node Package Manager) – Comes with Node.js installation.\
Confirm installation by running:
```typescript bash
node -v
npm -v
```
3. Git – [Download Here](https://git-scm.com/) .\
Verify by running:
```Text bash
git --version
```
4. MongoDB – A local or cloud database instance for data storage. [Set up MongoDB](https://www.mongodb.com/docs/manual/installation/) .## Step 1: Clone the Repository
Clone the project repository from GitHub to your local machine:
```Text bash
git clone https://github.com/username/repository-name.git
```Navigate to the project directory:
```
cd repository-name
```## Step 2: Install Dependencies
This project uses Turborepo to manage multiple apps within a monorepo. Install all dependencies from the root directory:
```Text bash
npm install
```This command will install all the packages listed in the package.json file, including backend and frontend dependencies.
## Step 3: Configure Environment Variables
1. Create a .env file in the root directory
2. Add the required environment variables as shown in the .env.example file. For example:```Text bash
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.
## Step 4: Start the Development Server
Run both server and frontend simultaneously . Move to root folder
```Text bash
npm run dev
```Alternatively, you can start apps individually:
* Backend (API):
```Text bash
cd apps/server
npm run dev
```* Frontend (Web):
```Text bash
cd apps/frontend
npm run dev
```* Utility Server (util-server):
```Text bash
cd apps/util-server
npm run dev
```## Step 5: Seed database
The project includes a database seeder script for fresh start, run it after starting the backend:
```Text bash
cd apps/server
npm run seed
```
## Step 6: Access the Application
Once the servers are running:
1. Backend: Open [http://localhost:5000](http://localhost:5000) in your browser or use Postman to test API endpoints.
2. Frontend: Access the application at [http://localhost:3000](http://localhost:3000) in your browser.
## Troubleshooting
* 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.***
# Contributing
Contributers are welcome! Please follow the [CONTRIBUTING.md](CONTRIBUTING.md) file for more details.
# License
This project is licensed under the Apache-2.0 license License. See the [LICENSE](LICENSE) file for details.
# Acknowledgments
* [React](https://reactjs.org/)
* [Express](https://expressjs.com/)
* [Typescript](https://www.typescriptlang.org/)
* [MongoDB](https://www.mongodb.com/)