DevLinks is a modern link-sharing application that allows users to manage and share their favorite links effortlessly. The app features functionalities such as link CRUD operations, profile management, drag-and-drop reordering, and responsive design. It is built with a powerful tech stack including Hasura Cloud, PostgreSQL, Auth0, React, Apollo Client, TailwindCSS, and NextUI.
You can find a live version of DevLinks hosted at:
https://dev-links-beta-five.vercel.app/
Feel free to explore the application and its features!
- CRUD Operations for Links: Create, read, update, and delete links.
- Link Validations: Validate URL patterns and mandatory fields.
- Drag and Drop: Reorder links via drag and drop.
- Profile Management: Add and update profile details such as profile picture, first name, last name, and email.
- Profile Preview: Preview and copy your DevLinks profile link.
- Responsive Design: Optimal layout for different screen sizes.
- Interactive States: Hover and focus states for all interactive elements.
- Full-Stack Capabilities:
- Bonus: Save details to a database.
- Bonus: User authentication with account creation and login.
- Hasura Cloud: GraphQL API
- PostgreSQL: Database
- Auth0: Authentication
- React: UI Library
- Apollo Client: State management and GraphQL client
- TailwindCSS: Utility-first CSS framework
- NextUI: Component library
- External Libraries:
react-hook-form
: Form handlingzod
: Schema validationreact-hot-toast
: Notifications
- Node.js
- npm
- PostgreSQL database
- Auth0 account
- Hasura Cloud account
- Cloudinary account
- Clone the repository:
git clone https://github.com/yourusername/devlinks.git
cd devlinks
- Rename
.env.example
to.env
and add your credentials:
mv .env.example .env
- Install dependencies:
npm install
- Run the development server:
npm run dev
- Open your browser and navigate to
http://localhost:3000
.
Ensure you set up the following environment variables in your .env
file:
NEXT_PUBLIC_HASURA_GRAPHQL_URL=<Your Hasura GraphQL URL>
NEXT_PUBLIC_AUTH0_DOMAIN=<Your Auth0 Domain>
NEXT_PUBLIC_AUTH0_CLIENT_ID=<Your Auth0 Client ID>
NEXT_PUBLIC_AUTH0_REDIRECT_URI=<Your Auth0 Redirect URI>
NEXT_PUBLIC_AUTH0_AUDIENCE=<Your Auth0 Audience>
NEXT_PUBLIC_POSTGRESQL_URL=<Your PostgreSQL URL>
Once the application is running, you can:
- Create, read, update, and delete links.
- Drag and drop links to reorder them.
- Add and update profile details.
- Preview your profile and copy the link.
- Register and log in to manage your links and profile.
Feel free to reach out if you have any questions, suggestions, or feedback about this project. I'm always open to discussing DevLinks and potential improvements or collaborations.