Code Monkey home page Code Monkey logo

qwik-x's Introduction

Qwik-X ⚡️

Social media web app like Twitter build with Qwikcity

Tech Stack

  • Qwikcity
  • Typescript
  • Drizzle ORM
  • Neon
  • Postgresql
  • Node/Express server
  • Tailwindcss
  • daisyui

Note: copy .env.example inside .env

Setup

Step 1 - Clone the repo

git clone https://github.com/harshmangalam/qwik-x.git

Step 2 - move to project

cd qwik-x

Step 3 - Install dependencies

pnpm i

Step 4 - Copy .env.example to .env

cp .env.example .env

Step 5 - Update .env variables value provide DRIZZLE_DATABASE_URL value. make sure your postgres is setup in local.

Step 6 - Create postgres database with the same name provided in DRIZZLE_DATABASE_URL i.e qwikx

Step 7 - Create and sync schema in your database

pnpm migration:push

Step 7 - Now start your dev server

pnpm dev

Interaction Analysis 🌏

Teck Stack Used🔥

  • Python
  • Streamlit
  • Plotly

Code For Installing Packages 📦

cd analysis
pip install -r requirements.txt

Vercel Edge

This starter site is configured to deploy to Vercel Edge Functions, which means it will be rendered at an edge location near to your users.

Installation

The adaptor will add a new vite.config.ts within the adapters/ directory, and a new entry file will be created, such as:

└── adapters/
    └── vercel-edge/
        └── vite.config.ts
└── src/
    └── entry.vercel-edge.tsx

Additionally, within the package.json, the build.server script will be updated with the Vercel Edge build.

Production build

To build the application for production, use the build command, this command will automatically run pnpm build.server and pnpm build.client:

pnpm build

Read the full guide here

Dev deploy

To deploy the application for development:

pnpm deploy

Notice that you might need a Vercel account in order to complete this step!

Production deploy

The project is ready to be deployed to Vercel. However, you will need to create a git repository and push the code to it.

You can deploy your site to Vercel either via a Git provider integration or through the Vercel CLI.

qwik-x's People

Contributors

ansh-saini avatar dependabot[bot] avatar harshmangalam avatar irfanfaraaz avatar kliu57 avatar krish-panchani avatar mohanadft avatar mohiwalla avatar mokshagnav avatar ruskovin avatar stormbreakerr20 avatar tmatheas2000 avatar udeet27 avatar wanggithub0 avatar znoy108x avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

qwik-x's Issues

Create empty data component

Create generic component that will show in place of empty data.

  • Add empty data icon
  • Add dynamic text (accept as props)

Can be used in place of

  • when there is no data for suggestions
  • when there is no data for posts in feed page
  • etc...

Add daisyui themes

For now application is configured with default light themes.
Add theme configuration using daisyui themes

Link to user profile

Add link to user profile in post details page

  • username link to profile
  • name link to profile
  • avatar link to profile

Show empty text in `/lists/`page

If lists have no any data then show

  • Add Empty text for pinned lists
  • Add Empty text for Discover new lists
  • Add empty text for Your lists

Add user suggestions link for small screen

Currently the right sidebar show the Show more link for more user suggestions but sidebar is hidden for smaller screen. Add an icon in bottom navigations for user suggestions and connect it to /suggestions link

Add share post functionality

In post card there is share icon button ui available.
Add functionality to share the post on click.
Utlize web share api or if user device not support web share api just copy the post link in clipboard.

font changes in 'wireframe' theme

  • you can see that the font changes only for the 'wireframe' theme. A theme ideally should just change the colors not the font.
  • Not sure if this was intentional or not because font remains constant for all other themes.
  • Also Comic Sans is ofcourse not an ideal font.
image

Add pagination in home page posts feed

For now home page load all posts at once.
Add pagination in home page.
At once show 10 posts and once user click on load more button then fetch the next 10 and show.

Create 404 not found page

For now 404 error from routeLoader and routeAction render default 404 page but add custom 404 page and render error message with some important public links i.e Home , Login, Explore etc...

Add navbar in mobile screen

Add navbar on smaller screen.
Put the following things inside the navbar

  • Logo in the left
  • Theme switcher icon component in the right

Dashboard

I can create an interaction analysis dashboard using Python, Streamlit & Plotly.
Interaction analysis can be done with the Social Media Dataset (Twitter).

Change post details bookmark color scheme

Now the default color scheme is getting used in bookmark icon button change it to info color scheme.
Follow the post like icon button for different part of state handling .

Add pagination in users suggestions page

For now /suggestions page load all users at once.
Add pagination in /suggestions page.
At once show 10 users and once user click on load more button then fetch the next 10 and show.

Add bottom navigations on mobile screen

On mobile screen add bottom menu navigation
Add menu icons and link to their respective pages

  • Home
  • Login
  • Explore
  • Bookmark
  • Profile
  • Create post

Pick menu icons and links from sidebar component.

Add optimistic UI in like post

When some one like post it wait for server response and loader to update the like part now integrate optimistic ui to feel it fast and instant.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.