Brainly demo-video
Brainly is your personal link management system - save, organize, and revisit all your important links in one place.
Brainly is a modern, intuitive bookmarking application designed to help you organize your digital life. Stop losing important resources across multiple browsers and devices - Brainly provides a centralized hub for all your important links, organized the way you want.
- 🔗 Save Links: Quickly save important URLs with custom titles and descriptions
- 📁 Create Folders: Organize links into custom folders for easy navigation
- 🏷️ Tag System: Add tags to your links for powerful filtering and search
- 👥 User Authentication: Secure access to your personal link collection
- 📱 Responsive Design: Perfect experience on any device
- 🌙 Clean UI: Intuitive interface that puts your content first
- Node.js 18.x or higher
- npm or yarn
- PostgreSQL database
-
Clone the repository:
git clone https://github.com/0x4nud33p/brainly.git cd brainly
-
Install dependencies:
npm install # or yarn install
-
Set up your environment variables by creating a
.env
file:DATABASE_URL="postgresql://user:password@localhost:5432/brainly" NEXTAUTH_SECRET="your-secret-key" NEXTAUTH_URL="http://localhost:3000" GOOGLE_CLIENT_ID="your-google-client-id" GOOGLE_CLIENT_SECRET="your-google-client-secret"
-
Run the database migrations:
npx prisma migrate dev
-
Start the development server:
npm run dev # or yarn dev
For Docker users, we provide a Docker Compose configuration:
docker-compose up -d
This will start both the Brainly application and a PostgreSQL database.
Brainly is built with modern technologies for the best developer and user experience:
- Next.js: React framework with server-side rendering
- TypeScript: Type-safe code
- Prisma: Modern database ORM
- PostgreSQL: Reliable relational database
- NextAuth.js: Authentication system
- Tailwind CSS: Utility-first CSS framework
- Docker: Containerization for easy deployment
Brainly provides a RESTful API for managing links and folders:
GET /api/links
- Get all linksPOST /api/links
- Create a new linkGET /api/links/:id
- Get a specific linkPUT /api/links/:id
- Update a linkDELETE /api/links/:id
- Delete a link
GET /api/folders
- Get all foldersPOST /api/folders
- Create a new folderGET /api/folders/:id
- Get a specific folderPUT /api/folders/:id
- Update a folderDELETE /api/folders/:id
- Delete a folder
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- 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.
- 0x4nud33p - GitHub Profile
Brainly - The smart way to bookmark