Files
exams/README.md

57 lines
2.3 KiB
Markdown

# [Upcomming] Exams
A Exam tracker that is selfhostable, does not rely on any third party services and is open source.
![Exam Manager Screenshot](https://shx.reversed.dev/u/4DnGHu.png)
Built using RJ-WEB, React router and Tailwind CSS, this little project is fun to develop and is a great way to learn new technologies. It is also a great way to keep track of your exams and never miss a deadline again.
## Features
- Add exams with a name, date and description
- View upcoming exams in a list
- Edit and delete exams
- Upload Study materials for each exam
- View past exams and track grades
## Installation (🐳Docker)
1. Clone the repository
```bash
git clone https://gitea.reversed.dev/space/exams
cd exams
```
Mini-Warning:
> Uploads rely on minio, which is not included in the docker-compose file. You will need to set up minio separately and configure the environment variables accordingly. If you are smart enough, add a minio instance into the docker-compose.yml file. Thanks for reading!
2. Configure the environment variables in the `.env` file
```env
COOKIE_DOMAIN=localhost # Where is your domain hosted? This is SUPER important!!! If you are running this locally, set it to localhost. If you are running this on a server, set it to your domain name. I do NOT think you can use ip addresses here, you're on your own.
DB_CONN_STRING=YOURURL # Get a Mongo DB instance running and put the connection string here. You can use a local instance or a cloud service like MongoDB Atlas.
PORT=8000
CDN_KEY=FunnyKey
CDN_SECRET=FunnySecret
CDN_BUCKET=exams
CDN_HOST=YOURHOST.com # either an ip address or a domain. Whichever you have setup.
CDN_PORT=443
CDN_USE_SSL=true # Got a ssl certificate? Set this to true, otherwise set it to false.
```
3. Start the application using Docker Compose
```bash
docker compose up -d
```
4. Access the application at `http://localhost:8000` (or your configured domain)
---
## Upcoming Features
- Homework Tracker?
- Create & Share Classes with other users on the same instance
- Admin panel for the first created user to manage users and exams (and instance settings like registration)
## Contributing
Contributions are welcome! If you have any ideas for new features or improvements, feel free to open an issue or submit a pull request.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.