- Seamlessly create a new account with a personalized journey
- Effortlessly log in to your account
- Inspire and share with the community by creating a new post
- Explore a wealth of uplifting content by browsing through all posts
- Dive deeper into the essence of each post by viewing them individually
- Spread joy and positivity by liking posts that resonate with you
- Engage in meaningful conversations by commenting on posts
- Stay connected with the community by viewing all comments on a post
- Stay updated and connected with user activities
Witness the magic firsthand!
demo.mp4
- Begin your journey by cloning the repository
- Customize your experience by setting up your environment with a
.env
file (refer toenv.example
for guidance) - Launch the application with ease using
docker-compose up
- Seamlessly migrate your data with
docker-compose exec server yarn prisma migrate dev
- Embark on your GoodWords adventure by visiting
http://localhost:3000
- React
- Zustand
- Tanstack-router
- GraphQL (Apollo-client)
- Mantine UI
- Mantine-forms
- tabler-icons
- NestJS
- Prisma
- GraphQL (Apollo-server)
- Postgres
- Joi
- passport-jwt
compose.yml
: Your gateway to the application's ecosystemenv.example
: Your key to unlocking the power of environment variables
client
: Your portal to the frontend magicsrc/components
: Where creativity meets functionalitysrc/routes
: Guiding you through your journey with intuitive file-based routessrc/hooks/zustand
: Your arsenal of Zustand hooks for state managementsrc/hooks/graphql
: Your gateway to GraphQL queries and mutationssrc/utils/client
: Streamlining your experience with Apollo client setupsrc/utils/query
: Unleashing the power of GraphQL queriessrc/utils/mutations
: Unleashing the power of GraphQL mutationssrc/utils/utils
: Your toolkit of utility functionssrc/App.tsx
: Where the magic beginssrc/main.tsx
: Your entry point to the GoodWords universeDockerfile.dev
: Your guide to deploying with Docker for developmentpostcss.config.js
: Your secret weapon for Mantine UI's PostCSS configuration
server
: Your fortress of backend brillianceprisma
: Your treasure trove of Prisma schema and migrationsprisma/migrations
: Your path to seamless database migrationsprisma/schema.prisma
: Your blueprint for the Prisma schemasrc
: Your hub of NestJS brilliancesrc/auth
: Safeguarding your journey with authentication magicsrc/user
: Nurturing the user experience with dedicated functionalitysrc/post
: Crafting the essence of GoodWords with post-related functionalitysrc/comment
: Fostering engaging discussions with post comment functionalitysrc/like
: Spreading positivity with post liking functionalitysrc/activity
: Tracking and celebrating community activitysrc/database
: Your gateway to the database world with Prisma client setupsrc/env-config
: Empowering your application with essential environment variablessrc/utils
: Your repository of utility functionssrc/schema.gql
: Defining the GraphQL schemasrc/app.module.ts
: Orchestrating the NestJS appsrc/main.ts
: Initiating the NestJS journeyDockerfile.dev
: Your companion for Docker-based development deployment
Join us in spreading positivity and making the world a better place! Whether you spot a bug or have an idea for a new feature, we welcome your contributions. Open an issue or submit a pull request, and let's make GoodWords even better together! 🌟
Empowered by ChatGPT, this markup is elegantly crafted to enhance readability.