Skip to content

A project using NestJS, Next.js, GraphQL, Tailwind CSS, and TypeScript. It includes APIs for user authentication, profile management, and categorized movie lists. Users can rate movies and receive personalized recommendations via a microservice. The codebase showcases modern web development with efficient backend operations and a dynamic frontend.

Notifications You must be signed in to change notification settings

Namrah-99/movies-nestjs-nextjs-test-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Instructions to Run the Project

  1. Clone the Repository:

    git clone https://github.com/Namrah-99/movies-nestjs-nextjs-test-app.git
    cd movies-nestjs-nextjs-test-app
  2. Install Dependencies for Both Server and Client:

    # For server-side dependencies
    cd servers
    npm install
    
    # For client-side dependencies
    cd ../clients/user-ui
    npm install
  3. Set Up Environment Variables:

    • Copy the .env.example file to .env in both clients/user-ui and servers directories, and populate the required variables.
  4. Build the Project:

    # Navigate to the root of the project
    cd ../..
    Remove-Item -Recurse -Force .\dist\
    npm run build
  5. Generate Prisma Client and Push Schema to Database:

    cd servers
    npx prisma generate
    npx prisma db push
  6. Seed the Database:

    npm run seed:clear
    npm run seed
  7. Run Prisma Studio (Optional):

    npx prisma studio
    # Open http://localhost:5555/ in your browser to interact with the database
  8. Start Microservices:

    cd servers
    
    # Start the users microservice
    npm run start:dev users
    
    # Open a new terminal and navigate to the servers directory
    cd servers
    
    # Start the admin microservice
    npm run start:dev admin
    
    # Open another new terminal and navigate to the servers directory
    cd servers
    
    # Start the gateway microservice
    npm run start:dev gateway
  9. Start the Next.js Client Application:

    cd ../clients/user-ui
    npm run dev

Final Notes:

  • Ensure that all required environment variables are set correctly in the .env files.
  • The microservices (users, admin, gateway) should be running simultaneously in different terminal windows.
  • Access the Next.js application at http://localhost:3000.

Screenshots

MainPage PrismaSeedData UserSeedData SignUp ActivateUser ActivationCodeEmail UserCreatedInDB Forgot Password ResetPwdEmail Reset Password Login UserLoggedIn UserProfileUpdate UserProfileImageUpdate BeforeRatingMovie RateMovieForm AfterRatingMovie NewRatingPrismaDB registerUserGraphQLQueries recommendedMoviesAdminGraphQLQueries ratingAdminGraphQLQueries

About

A project using NestJS, Next.js, GraphQL, Tailwind CSS, and TypeScript. It includes APIs for user authentication, profile management, and categorized movie lists. Users can rate movies and receive personalized recommendations via a microservice. The codebase showcases modern web development with efficient backend operations and a dynamic frontend.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published