Skip to content

Raven : A Next.js Full Stack Platform for Seamless User Login and Signup

Notifications You must be signed in to change notification settings

choudhuryjoy/raven

Repository files navigation

Raven: Next.js Full Stack Platform

Raven is a comprehensive Next.js full-stack platform designed to streamline user authentication and management. Utilizing Next.js for both frontend and backend development, Raven offers a seamless experience for user login and signup functionalities.

Deployment

Raven is deployed at raven-seven.vercel.app. You can access the live version of the project to explore its features and functionalities

Problem

Building full-stack web applications often requires implementing user authentication and authorization features, including login, signup, and user management functionalities. Setting up these features from scratch can be time-consuming and repetitive, especially when developing multiple projects.This project aims to provide a reusable and customizable template for quickly kickstarting the development of full-stack applications with pre-built authentication and authorization logic.

Data Flow

App Screenshot

Features

  • User registration with email, password, and user type (user or seller)
  • User login with email and password
  • Social authentication with GitHub and Google
  • User profile page displaying user information
  • Sign-out functionality

Tech Stack

  • Next.js
  • React
  • Tailwind CSS
  • Next-Auth
  • Prisma
  • PostgreSQL
  • Zod (for form validation)
  • bcryptjs (for password hashing)
  • react-form-hooks

Getting Started

  1. Clone the repository:
git clone https://github.com/your-username/raven.git
  1. Install dependencies:
cd raven
npm install
  1. Set up the environment variables:

Create a .env file in the root directory and add the following variables:

DATABASE_URL=<your-postgresql-database-url>
NEXTAUTH_URL=<your-app-url>
GITHUB_ID=<your-github-client-id>
GITHUB_SECRET=<your-github-client-secret>
GOOGLE_CLIENT_ID=<your-google-client-id>
GOOGLE_CLIENT_SECRET=<your-google-client-secret>
  1. Run the development server:
npm run dev
  1. Open http://localhost:3000 with your browser to see the app.

License

This project is licensed under the MIT License.

Acknowledgments