Skip to content

Spring Overflow is a web app that combines web development and social justice. It allows users to ask and answer questions about web development, while supporting the Burma Spring Revolution and Civil Disobedience Movement.

License

Notifications You must be signed in to change notification settings

min-hinthar/Spring-Overflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Overflow

logo

Spring Overflow is a community-centered platform progressive web app that combines web development and social justice, allowing users to ask and answer questions about software engineering, coding and programming problems, and search for software engineering jobs. By using Spring Overflow, you can not only improve your web development skills, but also contribute to the Burma Spring Revolution and Civil Disobedience Movement.

🌐 Demo

Deployed URL: https://spring-overflow.vercel.app/

📝 Overview

Spring Overflow is a web app for web developers who want to learn, share, and connect with each other, while also supporting the Burma Spring Revolution and Civil Disobedience Movement. This web app is powered by Next.js 14 and various cutting-edge tech stacks. It has a gamification system that rewards users with reputation points and privileges for their contributions. It aims to can provide a safe and reliable platform to create and share questions and answers that raise awareness and solidarity for the Burma Spring Revolution movement.

✨ Features

Spring Overflow has the following features and functionalities:

  • Users can sign up and log in with their email and password, or use their Google or GitHub accounts for authentication.
  • Users can post questions and answers about web development, using a rich text editor that supports markdown, code formatting, and image uploading.
  • Users can vote, comment, accept answers, edit, and delete their own questions and answers, as well as flag inappropriate or duplicate content.
  • Users can earn reputation points and badges for their contributions, and unlock privileges such as editing other’s posts, closing and reopening questions, and accessing moderator tools.
  • Users can view their profile and activity, as well as other users’ profiles and activity, and follow or unfollow other users.
  • Users can search for questions and answers based on keywords, tags, or filters, and sort them by relevance, votes, date, or views.
  • Users can receive real-time updates on their questions, answers, comments, votes, badges, and notifications, using WebSocket and RabbitMQ.
  • Users can create and share questions and answers that raise awareness and solidarity for the Burma Spring Revolution and Civil Disobedience Movement, a resistance movement that opposes the military coup in Myanmar.
  • Users can connect and network with other developers and supporters who care about the same causes, and exchange ideas, resources, and opportunities. Users can also join or create groups and events related to the movement, and invite or join other users.
  • Users can learn and improve their web development skills and knowledge, and apply them to their own projects or careers. Users can also help and mentor other users who are new or struggling with web development, and provide feedback and suggestions. Users can also showcase their portfolio and achievements, and attract potential employers or clients.

🚀 Tech-Stacks

Spring Overflow is built using the following cutting-edge technologies:

  • [Next.js 14]: A React-based web development framework that offers a comprehensive suite of functionalities encompassing pre-rendering, server-side rendering, static site generation, and beyond.
  • [React]: A JavaScript library for building user interfaces. It allows you to create reusable components and manage the state and lifecycle of your app.
  • [MongoDB]: A NoSQL database that stores data in JSON-like documents. MongoDB is flexible, scalable, and compatible with React and Next.js.
  • [Mongoose]: An object data modeling (ODM) library for MongoDB and Node.js. It provides a schema-based solution to model your application data and perform validation, querying, and business logic.
  • [Vercel]: A cloud platform that deploys and hosts Next.js applications. Vercel provides a seamless deployment experience, automatic SSL, and global CDN.
  • [Clerk]: A complete user management solution for Next.js applications. It handles authentication, authorization, user profiles, and more.
  • [Radix UI]: A low-level UI component library for building high-quality, accessible design systems and web apps.
  • [Tailwind CSS]: A utility-first CSS framework for styling the UI. It allows you to create responsive and custom designs without writing any CSS code. It also comes with a lot of pre-built components and plugins - that you can use to enhance your app’s appearance and functionality.
  • [Prism Js]: A lightweight, extensible syntax highlighter for web pages. It supports a variety of languages and formats, and can be easily customized and extended.
  • [Zod]: A TypeScript-first schema validation library. It allows you to define schemas for your data and perform type-safe parsing and validation.
  • [Eslint]: A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. It helps you to find and fix problems in your code and enforce code style and best practices.
  • [Prettier]: An opinionated code formatter for JavaScript and other languages. It helps you to format your code consistently and save time and energy.
  • [Lucide-React]: A collection of simple and beautiful SVG icons for React. It is based on the Lucide icon set, which is designed to be clear and minimalistic.
  • [Tiny MCE]: A rich text editor for the web. It allows you to create and edit content with a variety of features and options, such as formatting, media, plugins, and more.
  • [SVIX]: A webhooks as a service platform. It allows you to easily send and receive webhooks from your app, with features like retries, dashboard, logs, and more.
  • [TypeScript]: A superset of JavaScript that adds static type definitions and other features. It helps you to write more reliable and maintainable code, and catch errors before they happen.

🛠️ Installation

To run the web app locally, you need to have Java, Maven, and Docker installed on your machine. Then, follow these steps:

  • Clone this repository: git clone https://github.com/min-hinthar/Spring-Overflow.git

  • Install the dependencies: npm install

  • Create a .env file in the root directory and add your API keys as environment variables.

  • Navigate to the project directory and build the project with Maven:

    • cd Spring-Overflow
    • mvn clean install
  • Start the Docker containers with Docker Compose:

    • docker-compose up
  • Open [http://localhost:3000] in your browser and enjoy using the web app.

Screenshots

Here are some screenshots of the web application:

![Home page]

📖 License

Spring Overflow is open source and licensed under the MIT license. You can find the code base and the README file on GitHub. I welcome any feedback, suggestions, or contributions to improve the project and make it more useful for the community.

Feedback

If you have any feedback, suggestions, or questions, feel free to contact me at min@mandalaymorningstar.com or open an issue on GitHub. I would love to hear from you and improve the project. Thank you for using and supporting the web app.

🙏 Acknowledgements

This project is inspired by the course [Dev Overflow] by JS Mastery and the Burmese Spring Revolution Civil Disobedience Movement. The project aims to support the cause of democracy and human rights in Myanmar through cutting-edge web development tech stacks.

GitHub: https://github.com/min-hinthar Email: min@mandalaymorningstar.com LinkedIn: https://www.linkedin.com/in/minkkhant93/ Portfolio: https://minkkhant-portfolio.netlify.app/

About

Spring Overflow is a web app that combines web development and social justice. It allows users to ask and answer questions about web development, while supporting the Burma Spring Revolution and Civil Disobedience Movement.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published