SpeakUp is an anonymous social media web application that allows users to share confessions anonymously without fear of judgment.
- User authentication with anonymous handles
- Posting textual confessions
- Commenting and voting on confessions
- User feed, profile, and trending feed
- Reporting abusive content
- Admin dashboard for moderation
SpeakUp follows a three-tier architecture:
- ReactJS for UI
- React Router for routing
- TailwindCSS for styling
- Form validation using Formik & Yup
- Node.js runtime
- Express framework for API endpoints
- JWT authentication
- Bcrypt password hashing
- MySQL relational database
- Sequelize ORM
- React
- React Router
- Tailwind CSS
- Formik
- Yup
- Axios
- Express
- JWT
- BcryptJS
- Sequelize
- MySQL2
- Trending feed algorithm
- Node.js v16+
- MySQL database
- npm package manager
- Clone the repo
git clone https://github.com/itsankitbhusal/speakup
- Install backend dependencies
cd backend
npm install
-
Create a
.env
file with database and API credentials -
To run seeders
npm run seed seeders/<seederFile>.js
- Install frontend dependencies
cd frontend
npm install
-
Create
.env
file with API url -
Start development servers
// Backend
npm run server
// Frontend
npm run dev
Frontend at http://localhost:5173
Backend at http://localhost:5001