A webforum designed with simplicity in mind.
You can find the live version of this project here.
You can find the backend API that this project consumes here.
Project aspect | Technologies used |
---|---|
Frontend | Typescript + React See ⚡️Technologies for more details. |
Backend | Golang + Gin + Gorm |
Database | MySQL |
Deployment plan | Frontend: AWS S3 Bucket + Cloudfront See 🌐 Deployment for more details. Backend: AWS EC2 + Nginx (reverse proxy) See Backend Deployment for more details. Database: AWS EC2 (same instance as backend) |
Basic requirements: Completed ✅ (as of 22/12/22)
See more upcoming features at: 💡 Future Plans
-
🔓 Basic authentication
- Each user is authenticated via a
username
and apassword
. - Usernames are case-insensitive and limited to 10 characters.
- Each user is authenticated via a
-
✍️ Basic CRUD features for posts and comments
- Users can create, view, edit and delete their posts and comments.
- Users can only edit or delete their own comments and posts.
-
🗂 Category tagging for posts
- Users can filter posts by category to allow for easier searching.
-
👤 User profiles
- Users can view their own as well as other user profiles to see their forum statistics.
-
NodeJS
Install NodeJS if you have not done so yet.
-
yarn
This project uses
yarn
as the package manager instead ofnpm
.
-
Clone this repo.
$ git clone https://github.com/mfjkri/OneNUS.git
-
Change into the repo directory.
$ cd OneNUS
-
Install project dependencies.
$ yarn install
-
Create a
.env
file from the template.env.example
file.$ cp .env.example .env
Modify the following environment variables in the newly created
.env
file accordingly:REACT_APP_API_URL=PRODUCTION_API_URL # Production API endpoint REACT_APP_LOCAL_API_URL=LOCAL_API_URL # Local testing API endpoint REACT_APP_API_MOCKING=false # Whether to use production or local API for local testing (in production mode it will use PRODUCTION_API_URL regardless)
-
Start test server.
$ yarn start
-
All set!
You can view the app at
localhost
port3000
by default: localhost:3000.
- ⚡️Technologies
- 📂 Project Structure
- 💾 State Management
- 🌐 Deployment
- 💡 Future Plans
- ✨ Future Considerations
- Project structure inspiration: https://github.com/alan2207/bulletproof-react
- Website Logo: https://logoipsum.com/
- Website Background: https://unsplash.com/photos/v6uXUGQSDLY
- User Avatars: https://www.figma.com/community/file/829741575478342595 : License