A community-driven platform for Linux desktop customization enthusiasts.
- Description
- Features
- Tech Stack
- Prerequisites
- Installation
- Running the Project
- Project Structure
- Contributing
- License
Ricesource is a beautifully crafted web application designed for Linux enthusiasts to share and discover unique desktop customizations, commonly known as "rice." With Ricesource, users can effortlessly upload their personalized rice configurations and share them with the community.
- Upload and Share: Showcase your custom Linux desktop setups by uploading your rice configurations. Inspire others with your creativity and unique style.
- Discover and Download: Browse through a diverse collection of rice shared by other users. Find the perfect setup that matches your taste and download it to apply on your own Linux system.
- Community Driven: Engage with a vibrant community of Linux users who are passionate about desktop customization. Exchange ideas, tips, and tricks to enhance your Linux experience.
- Backend:
- Node.js
- Express.js
- Supabase (Database)
- Frontend:
- NextJS
- Authentication:
- JWT (JSON Web Tokens)
Before you begin, ensure you have met the following requirements:
- Node.js 18.18 or later
- Supabase account
- Git
-
Clone the repository
git clone https://github.com/your-username/ricesource.git cd ricesource
-
Install backend dependencies
cd Backend_3 npm install
-
Set up Backend environment variables Create a
.env
file in theBackend_3
directory with the following variables:SUPABASE_URL=your_supabase_project_url SUPABASE_KEY=your_supabase_api_key JWT_SECRET=your_jwt_secret
-
Set up Frontend environment variables Create a
.env.local
file in thefrontend
directory with the following variables:NEXT_PUBLIC_API_URL = your_backend_api_url
-
Start the backend server in development mode (with hot-reload):
cd Backend_3 node src/index.js
-
The backend server will be available at
http://localhost:5000
-
Navigate to the frontend directory:
cd frontend
-
Install dependencies and start the development server:
npm install npm run dev
-
The frontend will be available at
http://localhost:3000
(or another available port)
ricesource/
│
├── Backend_3/ # Backend server
│ ├── src/
│ │ ├── controllers/ # Request handlers
│ │ ├── routes/ # API routes
│ │ ├── middleware/ # Custom middleware
│ │ ├── docs/ # API documentation
│ │ └── index.js # Application entry point
│ ├── package.json
│ └── .env
│
├── frontend/ # Frontend application
│ ├── app/ # Next.js app directory
│ │ ├── dashboardAdmin/ # Admin dashboard pages
│ │ ├── login/ # User login page
│ │ ├── loginAdmin/ # Admin login page
│ │ ├── register/ # User registration
│ │ ├── ricesource/ # Main application pages
│ │ │ ├── about/ # About page
│ │ │ ├── bookmark/ # Bookmark functionality
│ │ │ ├── explore/ # Explore rice configurations
│ │ │ ├── manage/ # Rice management
│ │ │ └── rice/ # Rice configuration pages
│ │ └── ...
│ │
│ ├── actions/ # Server actions
│ │ ├── adminSettings.ts
│ │ ├── auth.ts
│ │ ├── bookmark.ts
│ │ ├── comment.ts
│ │ └── ...
│ │
│ ├── components/ # Reusable UI components
│ │ ├── admin/ # Admin components
│ │ ├── ui/ # UI components
│ │ └── ...
│ │
│ ├── lib/ # Utility functions
│ ├── public/ # Static files
│ └── ...
│
└── README.md
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Join Ricesource today and transform your Linux desktop into a work of art! 🐧✨